メモ書き

自分が後で見直すためにつけている作業のメモ書きです.それ以上の意味はありません

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