解決策 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