GNU/Linux >> Linux の 問題 >  >> Linux

コマンド出力を複数の引数として別のコマンドに渡す方法

解決策 1:

xargs を使用できます 、-t フラグ xargs 詳細になり、実行するコマンドを出力します:

./command1 | xargs -t -n1 command2

-n1 command2 のすべての呼び出しに渡される引数の最大数を定義します .これが実行されます:

command2 word1
command2 word2
command2 word3

command2 の 1 回の呼び出しの引数としてすべてが必要な場合 それを使用してください:

./command1 | xargs -t command2

これは、3 つの引数を指定して command2 を呼び出します:

command2 word1 word2 word3

解決策 2:

「コマンド置換」が必要です。つまり、あるコマンドの出力を別のコマンドに埋め込む

command2 $(command1)

伝統的に、これは次のようにも行うことができます:

command2 `command1`

例:

test.sh:
#!/bin/bash
echo a b c

test2.sh

#!/bin/bash
echo $2

用途:

./test2.sh $(./test.sh)
b

Linux
  1. パラメータをエイリアスに渡す方法は?

  2. Linuxでコマンドの途中でxargsを使用してすべての引数を渡すにはどうすればよいですか

  3. ソースコマンドによって呼び出されたスクリプトに引数を渡す方法は?

  1. Linuxコマンドの出力を変数に割り当てる方法

  2. Linuxでコマンド出力をファイルに保存する方法

  3. bash:特殊文字を含むコマンドライン引数を渡す方法

  1. コマンドの出力をシェル変数に割り当てる方法は?

  2. コマンドライン引数をBashスクリプトに渡しますか?

  3. あるコマンドの出力を引数として別のコマンドに渡す方法は?