for, while, read を使った bash の繰り返し
bash で繰り返し処理の記述方法をすぐ忘れてしまうので記録
固定数データの for による繰り返し
- foo.sh
LIST="データ1 データ2 データ3" # 空白で区切られた文字列 for i in $LIST do echo "data: $i" # なんらかの処理 done
- 実行例
$ bash foo.sh data: データ1 data: データ2 data: データ3
read コマンドとwhileによるファイル内容の繰り返し
行単位にデータを格納したファイルからデータを受け取って繰り返し処理する
- data.txt
データ1 データ2 データ3
- foo.sh
while read -r line do echo "data: $line" # なんらかの処理 done
- 実行例
$ cat data.txt | foo.sh data: データ1 data: データ2 data: データ3