
У меня есть скрипт, который печатает рамку с символами Asterisk, и мне нужно сделать так, чтобы скрипт печатал несколько коробок друг под другом. Как это сделать?
#!/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
решение1
Если вам нужно просто количество ящиков в качестве входных данных, то это просто:
#!/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
Хотя не уверен, что это то, что вам нужно, потому что если бы вы писали свой код, вы бы, вероятно, уже догадались об этом.