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[@]} は配列の要素数を示す。