2017年3月12日

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

while文は、条件式が満たされている間、do~doneの処理を繰り返します。

while 条件式
do
  処理
done

次の例では、変数iをループ変数とし、iが10以下の間ループ処理をします。

#!/bin/bash
i=1
while [ $i -le 10 ]
do
  echo $i
  i=$((i+1))
done

下から2行目で算術式展開を使って変数iの値をインクリメントしています。これを実行すると、次のようになります。

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

もう一つ、例を見ておきましょう。次のシェルスクリプトは、ファイルsample.txtを1行ずつ読み込み、読み込んだ行を変数lineに代入してループを回します。doneの後に入力リダイレクトでファイルを指定している点に注意してください。

#!/bin/bash
while read line
do
  echo $line
done < sample.txt



0 件のコメント:

コメントを投稿