我可以在UNIX shell中执行嵌套或链接命令吗?

Osa*_*mad 7 linux ubuntu command-line solaris nested

我可以在UNIX shell中的另一个命令中执行命令吗?

如果不可能,我可以使用上一个命令的输出作为下一个命令的输入,如:

command x然后command y,

command y我想在哪里使用输出command x

Col*_*ert 16

您可以使用反引号.

例如,这将捕获file.txt

cat`echo file.txt`

这将打印日期

回声日期是`date`

后引号之间的代码将被执行并被其结果替换.


cod*_*ict 7

你可以做点什么;

x=$(grep $(dirname "$path") file)
Run Code Online (Sandbox Code Playgroud)

这里dirname "$path"将首先运行,它的结果将被替换,然后grep的运行,搜索结果dirnamefile

  • @Mohammed:将其添加到您的主要问题中。 (2认同)

Jim*_*utt 4

你到底想做什么?从您正在执行的命令中尚不清楚。也许如果您描述您正在寻找的东西,我们可以为您指明正确的方向。如果要对“find”命令返回的一系列文件(或目录)名称执行命令,Colin 是正确的,您需要查看“find”的“-exec”选项。如果您希望对文件中列出的一堆参数或来自标准输入的参数执行命令,则需要查看“xargs”命令。如果您想将单个命令的输出放到另一个命令的命令行上,那么使用“$(command)”(或“command”[用反引号替换“])即可完成这项工作。有很多方法可以做到这一点,但是如果不知道您正在尝试的是什么,就很难提供更多帮助。