Podemos criar uma string de *
caracteres com o mesmo tamanho da entrada com sed
. Nós também podemos fazer um loop muito simples. A saída de cada linha seria então
*$stars*
*$input*
...repeated...
*$stars*
Assim, podemos criar uma função de "saída" simples que apenas coloca o *
em volta da string necessária
#!/bin/bash
string=$1
count=$2
stars=$(echo "$string" | sed 's/./*/g')
output() { printf "*%s*\n" "$1"; }
output "$stars"
for ((a=0;a<$count;a++))
{
output "$string"
}
output "$stars"
por exemplo
./x "Hello world!" 3
**************
*Hello world!*
*Hello world!*
*Hello world!*
**************