我有一个命令产生这样的输出:
$。/命令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