記録

記録

シェルスクリプト for文で引数全てに対し繰り返し処理を実行する

シェルスクリプトでfor文は基本的に

for x in $var1 $var2 $var3
do
 echo $x
done

みたいな感じに変数や値を複数指定して使用しますが、

#for_echo.sh
for x in "$@"
do
 echo $x
done

上記のように記述すると指定した引数全てに対し処理が実行されます。

in 以降は省略可能で

#for_echo.sh
for x
do
 echo $x
done

この様に記述しても良いです。

$./for_echo.sh foo bar baz
foo 
bar
baz

基本的にin以降は省略しないほうが良いようですが、省略できること自体知らなかったのでメモ。