apply コマンド
目的
1 セットのパラメーターにコマンドを適用します。
構文
apply [ -aCharacter ] [ -Number ] CommandString Parameter ...
説明
apply コマンドは、CommandString パラメーターに指定されたコマンド文字列を、Parameter パラメーターに指定された各値に対して順番に実行します。通常、Parameter の値は個々に選択されます。オプションの -Number フラグは、指定されたコマンド文字列に渡される Parameter 値の数を指定します。Number 変数の値が 0 の場合は、コマンド文字列は、パラメーターを使わずに、それぞれの Parameter ごとに一度ずつ実行されます。
CommandString に %n のフォーマット (n は 1 から 9 の数字) の文字シーケンスを含めた場合は、コマンド文字列の実行時に、CommandString パラメーターのあとの n 番目の未使用の Parameter 値で置換されます。このようなシーケンスがあると、apply コマンドは -Number フラグを無視し、CommandString に渡されるパラメーターの数は、CommandString パラメーター内の n の最大値となります。
-a フラグでパラメーター置換文字列を指定するには、% (パーセント記号) 以外の文字を使用できます。例えば、-a@ は、シーケンス @1 および @2 が、CommandString パラメーターのあとの第 1 と第 2 の未使用パラメーターで置換されることを示します。
注:
- CommandString 内にパターン・マッチング文字があると、望ましくない結果が生じることがあるので、複雑なコマンドは ' ' (単一引用符) で囲むことをお勧めします。
- -a フラグを使わないで、% (パーセント記号) のあとに数値を続けたリテラルを渡すことはできません。
フラグ
項目 | 説明 |
---|---|
-aCharacter | パラメーター置換文字列を指定する 1 文字 (% 以外) を指定します。 |
-Number | CommandString の実行のたびに CommandString に渡されるパラメーターの数を指定します。 |
例
- ls コマンドと同じような結果を得るには、次のように入力します。
apply echo *
- a1 という名前のファイルを b1 という名前のファイルと比較し、a2 という名前のファイルを b2 という名前のファイルと比較するには、次のように入力します。
apply -2 cmp a1 b1 a2 b2
- who コマンドを 5 回実行するには、次のように入力します。
apply -0 who 1 2 3 4 5
- 現行ディレクトリー内のすべてのファイルをディレクトリー /usr/joe にリンクするには、次のように入力します。
apply 'ln %1 /usr/joe' *