
Tengo este script que imprime un marco de cuadro con signos de asterisco, y necesito hacerlo de modo que el script imprima varios cuadros uno debajo del otro. ¿Cómo puedo hacerlo?
#!/bin/bash
#
echo -n "Please enter the amount of lines: "
read lines
echo -n "Please enter the amount of *: "
read sign
for((i = 1; i <= $lines; i++))
do
echo -n "$i "
if [ $i -eq 1 -o $i -eq $lines ]; then
for((j = 1; j <= $sign; j++))
do
echo -n "* "
done
else
echo -n "* "
for((j = 2; j < $sign; j++))
do
echo -n " "
done
echo -n "* "
fi
echo
done
#end
Respuesta1
Si solo desea la cantidad de cuadros como entrada, es solo:
#!/bin/bash
#
echo -n "Please enter the amount of lines: "
read lines
echo -n "Please enter the amount of *: "
read sign
echo -n "Please enter the amount of boxes: "
read boxes
for ((h = 1; h <= $boxes; h++))
do
for((i = 1; i <= $lines; i++))
do
echo -n "$i "
if [ $i -eq 1 -o $i -eq $lines ]; then
for((j = 1; j <= $sign; j++))
do
echo -n "* "
done
else
echo -n "* "
for((j = 2; j < $sign; j++))
do
echo -n " "
done
echo -n "* "
fi
echo
done
done
#end
No estoy seguro de si esto es lo que quieres, porque si escribiste tu código probablemente deberías haberlo descubierto.