我想做类似以下的事情:
which someapplciation | cd outputfrompreviouscommand
该命令which
提供了一个目录,我希望能够在不使用编程语言(即 、 、 等)的情况下将该输出输出到我当前的工作目录,awk
并且bash
仅perl
使用管道命令。
进一步举个例子:
which vi
提供输出
/some/dir
我希望将我的工作目录移动到该目录,我可以使用pwd
应该具有与/some/dir
.
答案1
如果您运行的第二个命令不从其标准输入读取,则无法使用管道。但是,你可以做类似的事情
cd $(which someapplication)
或者,因为您需要目录名称cd
而不是可执行文件名称:
cd $(dirname $(which someapplication))
shell$(...)
运算符执行括号内的命令并将其输出替换到命令行中。