2017年3月16日

シェルスクリプトでループ処理をするには?(for文)

for文は、値リストに並んだ値を変数に代入しつつ、do~doneのループを繰り返します。値リストは、スペースで区切られた文字列です。値リストが尽きれば、ループは終了します。

for 変数 in 値リスト
do
  処理
done

次の例では、1~10までの数値を変数に代入しつつループ処理を行います。

#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
  echo $i
done

実行してみます。

$ bash fortest.sh
1
2
3
4
5
6
7
8
9

数が大きいときは、連続した数値を生成するseqコマンドを使った方がよいでしょう。

#!/bin/bash
for i in $(seq 1 9)
do
  echo $i
done

「$(コマンド)」は、括弧内のコマンドを実行してその結果に置き換える、という意味です。

0 件のコメント:

コメントを投稿