bash プログラミング:for 文

for 文には2種類あり、foreach の様な動きをする方法と通常の for 文がある。そこで今回は for 文について解説する。


foreach の様な動きをする for 文

文法は以下の通り。

for name [ [ in [ word … ] ] ; ] do list ; done

配列または文字列の集まりを逐次処理していく。

文字列の集まり

for VALUE in “ABC” “DEF” “HIJ KLM”; do echo ${VALUE}; done
ABC
DEF
HIJ KLM
$

配列

$ LIST=( “ABC” “DEF” “HIJ KLM” )
$ for VALUE in “${LIST[@]}”; do echo ${VALUE}; done
ABC
DEF
HIJ KLM
$

シェルスクリプトの引数を処理する場合

for VALUE in “$@”; do echo ${VALUE}; done

算術による for 文

文法は以下の通り。

for (( expr1 ; expr2 ; expr3 )) ; do list ; done

この for 文は算術、つまり計算で回す事になる。

$ for (( i = 0; $i < 10; i++ )); do echo “$i”; done
0
1
2
3
4
5
6
7
8
9
$

配列を対象とするには、次の様にする。

$ ARRAY=( “ABC” “DEF” “HIJ KLM” )
$ for (( i = 0; $i < ${#ARRAY[@]}; i++ )); do echo “${ARRAY[$i]}”; done
ABC
DEF
HIJ KLM
$

この時の ${#ARRAY[@]} は配列の要素数を示す。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です