回答:
これは、でfor
説明されている複合コマンドの機能ですhelp for
。
for: for NAME [in WORDS ... ] ; do COMMANDS; done
リストの各メンバーに対してコマンドを実行します。
for
ループは、アイテムのリスト内の各メンバーのためのコマンドのシーケンスを実行します。in WORDS ...;
が存在しない場合は、in "$@"
想定されます。の各要素についてWORDS
、NAME
がその要素に設定され、COMMANDS
が実行されます。
したがって、引用したコードは、4つのパラメーターで呼び出されたスクリプトで実行される可能性があります。
for x; do …
のショートカットですfor x in "$@"; do …
:位置パラメータを反復します。4回ループする場合は、4つの位置パラメータ($1
〜$4
)があることを意味します。
set a b c d
。最近、しばらく使用したに違いありません。私set
はテスト用のスクリプトでその方法をよく使用します。ターミナルを再起動した後、停止しました...(今では理にかなっています)