シェルスクリプト for 単純な繰り返し スクリプトの書き方

バイオインフォ道場、くまぞうです。

for文は、一定回数もしくは条件で決められた集合要素に対して、繰り返し処理を行う制御構造です。リスト内の値が順番に1個ずつ変数に代入され、その1つ1つに対してdo〜doneまでの処理を実行します。尚、in list を省略した場合、$@(コマンドライン引数のリスト)になります。

スポンサーリンク



for文 の書き方

for x [in list]
do
  command
  ...
done

 for文 を使う

簡単な例で「for文」を使ってみましょう。
例1. 単純に5回繰り返し

#! /bin/sh

for x in 1 2 3 4 5
do
  echo "hello"
done
hello
hello
hello
hello
hello

例2. 1〜5について繰り返し

#! /bin/sh

for x in 1 2 3 4 5
do
  echo $x # xに代入されたものを表示
done
1
2
3
4
5

例3. aaa〜cccについて繰り返し

#! /bin/sh

for x in aaa bbb ccc
do
  echo $x # xに代入されたものを表示
done
aaa
bbb
ccc

例4. in listの省略

#! /bin/sh

for x
do
  echo $x # 引数の1つ1つを表示
done
$ for_test.sh aaa bbb ccc
aaa
bbb
ccc

例5. 特定のファイルについて

#! /bin/sh

for x in `ls *.txt`
do
  echo $x # ファイル名を表示
  wc -l $x # 行数を表示
done
aaa.txt
10 aaa.txt
bbb.txt
20 bbb.txt

ポイント

  • for – do – done 最小構成です。
  • in にいくつかの項目を列挙する場合は、スペースで区切って並べます。
  • 変数 x に代入した値は、$xで取り出します。($を付与)
スポンサーリンク