如何将命令输出作为多个parameter passing给另一个命令

我有一个命令产生这样的输出:

$。/命令1
word1 word2 word3

我想把这三个字作为parameter passing给另一个命令:

$ command2 word1 word2 word3

如何将command1输出作为三个不同的参数$ 1 $ 2 $ 3传递给command2?

提前致谢。

你可以使用xargs-t标志xargs将会是冗长的并且打印它执行的命令:

 ./command1 | xargs -t -n1 command2 

-n1定义传递给每个command2的最大参数。 这将执行:

 command2 word1 command2 word2 command2 word3 

如果你想全部作为command2的一个调用的参数使用:

 ./command1 | xargs -t command2 

这与三个参数调用command2:

 command2 word1 word2 word3 

你想要“命令replace”,即:embedded一个命令的输出

 command2 $(command1) 

传统上这也可以这样来完成:

 command2 `command1` 

但是这个用法通常不推荐使用,因为你不能嵌套它们。

例如:

 test.sh: #!/bin/bash echo abc 

test2.sh

 #!/bin/bash echo $2 

使用:

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

我想这对你有帮助

command1 | xargs命令2