【问题标题】:Can I embed commands in one bash line?我可以在一个 bash 行中嵌入命令吗?
【发布时间】:2016-12-10 22:24:06
【问题描述】:

我要运行命令:

$ cd which automator 

以便将自动机返回的值传递给 cd。我已经看遍了,找不到简单的答案。救救我吧!

【问题讨论】:

    标签: bash macos shell unix


    【解决方案1】:

    您可能正在寻找:

    cd "$(dirname "$(which automator)")"
    
    • 通常,您需要$(...) - 一个command substitution - 将命令的输出用作另一个命令的参数。

    • 在这种情况下,因为which automator返回一个文件路径,你需要2命令替换:第一个用@987654326获取可执行文件路径@,第二个用dirname从中提取目录路径。

    • 双引号命令替换通常是正确的做法。如果您不这样做,则命令输出会受到分词和通配(这是shell expansions 的两个实例)的影响,这很少是您想要的。

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多