【问题标题】:Alias a Command in Another Script在另一个脚本中为命令起别名
【发布时间】:2013-12-21 17:35:00
【问题描述】:

我正在尝试运行使用 maven 命令 mvn 的特定第三方脚本 (app.sh)。对于日常使用和开发,我需要将 mvn 映射到版本 3.1.1(已经完成)。但是要运行这个特定的脚本,我需要 3.0.5 版的 maven。我在 /opt 中保存了二进制文件和必要的 3.0.5 文件

简而言之,当 app.sh 运行时,它会运行 mvn 命令。当该脚本运行并在该脚本中调用 mvn 时,我需要运行 3.0.5 版的 maven。我怎样才能做到这一点?这可能吗?

【问题讨论】:

    标签: macos bash shell unix alias


    【解决方案1】:

    在运行该脚本之前,您可以尝试将 mvn 别名设置为 3.0.5 版本:

    alias mvn='/opt/mvn-3.0.5/bin/mvn'
    

    根据需要更改上述别名以更正 mvn path

    第二个选项是将您的 PATH 变量更改为将所需的 mvn 二进制放在标准 mvn 之前:

    export PATH=/opt/mvn-3.0.5/bin:$PATH
    

    【讨论】:

    • 我不想每次都这样做。你知道我能不能把这些东西放到一个shell脚本中并执行它?比如为我导出的“startapp.sh”?那么shell会维护别名吗?
    • 是的,您可以将我建议的 2 个命令中的任何一个存储在您的 shell 脚本中。
    • 脚本中的别名。它解析为当前安装的 mvn (3.1.1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 2016-10-19
    相关资源
    最近更新 更多