このスクリプトで複数のボックスを印刷するにはどうすればよいですか?

このスクリプトで複数のボックスを印刷するにはどうすればよいですか?

アスタリスク記号付きのボックスを印刷するスクリプトがあります。スクリプトが互いに下に複数のボックスを印刷できるようにする必要があります。どうすればいいですか?

#!/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

これがあなたが望むものであるかどうかはわかりません。なぜなら、あなたがコードを書いたのであれば、おそらくそれを見つけたでしょう。

おすすめ記事