我想运行命令:
$ cd which automator
以便将自动机返回的值传递给cd。我看了一遍,找不到简单的答案。救救我!
答案 0 :(得分:3)
您可能正在寻找:
cd "$(dirname "$(which automator)")"
通常,您需要$(...)
- command substitution - 将命令的输出用作另一个命令的参数。
在这种情况下,因为which automator
返回文件路径,所以需要 2 命令替换:第一个获取可执行文件路径which
,第二个使用dirname
从中提取目录路径。
双引号命令替换通常是正确的做法。如果你不这样做,那么命令输出会受到单词拆分和通配(这是shell expansions的两个实例)的影响,这很少是你想要的。