Use sed para agregar el número a la última línea:
STRING=`echo "$(wc -l < data1 | bc)"` && sed -i '$s/^\(.*\)$/\1,'"$STRING"'/' data1
$ cat data1
test1,test2,test3,1
La primera parte guarda el número de líneas en la variable STRING
y el sed toma la última línea y agrega la variable ,
y el contenido de $STRING
al final de la línea.
Si solo desea el número de cajas 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
Sin embargo, no estoy seguro de si esto es lo que quieres, porque si escribiste tu código, probablemente deberías haberlo descubierto.