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 の未使用パラメーターで置換されることを示します。

注:
  1. CommandString 内にパターン・マッチング文字があると、望ましくない結果が生じることがあるので、複雑なコマンドは ' ' (単一引用符) で囲むことをお勧めします。
  2. -a フラグを使わないで、% (パーセント記号) のあとに数値を続けたリテラルを渡すことはできません。

フラグ

項目 説明
-aCharacter パラメーター置換文字列を指定する 1 文字 (% 以外) を指定します。
-Number CommandString の実行のたびに CommandString に渡されるパラメーターの数を指定します。

  1. ls コマンドと同じような結果を得るには、次のように入力します。
    
    apply echo *
  2. a1 という名前のファイルを b1 という名前のファイルと比較し、a2 という名前のファイルを b2 という名前のファイルと比較するには、次のように入力します。
    
    apply -2 cmp a1 b1 a2 b2
  3. who コマンドを 5 回実行するには、次のように入力します。
    apply -0 who 1 2 3 4 5
  4. 現行ディレクトリー内のすべてのファイルをディレクトリー /usr/joe にリンクするには、次のように入力します。
    apply 'ln %1 /usr/joe' *