繰り返しシーケンスを作成するには?

繰り返しシーケンスを作成するには?

ユーザーから変数を取得し、次のようなピラミッドを印刷するスクリプトを作成しようとしています。

*
**
***
****
*****

このスクリプトを使用しましたが、数値が表示されます。

for i in {1..5}

do

a=${a}${i}

echo ${a}

done

出力:

1
12
123
1234
12345

数字の代わりに「*」記号を挿入するには?

ベストアンサー1

ループカウンタの代わりに変数に*文字を追加するだけです。a

for i in {1..5}
do
  a+='*'
  echo "${a}"
done

a="${a}*"代替もうまく機能しますが、このバージョンはよりきれいで明確であるとa+='*'思います。+=

whileループを使用してこれを行うには、次のようにします。

while (( "${#a}" < 5 )); do
  a+='*'
  echo "$a"
done

${#a}変数の文字列の長さに拡張されますa

上記のコードスニペット(および質問のコード)は、スライスの先頭aでvarが空または設定されていないと仮定します。そうでない場合は、最初に再初期化する必要があります。

a=

私はあなたがbashシェルを使用していると仮定します。 これは完全なマニュアルです。 ここにいるループ構造について。

おすすめ記事