繰り返し処理を行う for文

複数の引数を処理するような
シェルスクリプトを書く場合、for 文を使用すると便利です
引数をある程度用意しておくのも対策のひとつに
なりますが、使いまわしするには不便です
理由としては、あとでまた引数を追加するのが
面倒なので、という理由ですが
for文の構文は

for 変数名 in リスト
do
処理
done

となります
このときに、リスト の部分には
$1 $2 $3
などというように、すべて記述する必要はありません
シェルスクリプトでは
$# が引数の数を表す記号
であったように
$@
という記号を使って洛に記述できます
$@すべての引数のリスト
という意味になります
このため
for file in $@
dp
ファイルの処理
done
とすれば、引数として指定するファイルの数を気にせずに
複数のファイルを処理することが可能になります
ちなみに、こういった処理の仕方を指定しないと
複数のファイルの処理はできないようです
実際、実験してみましたが
複数のファイルを指定したところ。最初のファイルしか実行できませんでした

コメントを残す

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