Macos 在另一个脚本中为命令添加别名

Macos 在另一个脚本中为命令添加别名,macos,bash,shell,unix,alias,Macos,Bash,Shell,Unix,Alias,我正在尝试运行一个使用maven命令mvn的特定第三方脚本(app.sh)。对于日常使用和开发,我需要mvn映射到版本3.1.1(已经完成)。但是要运行这个特定的脚本,我需要3.0.5版的maven。我在/opt中保存了二进制文件和必要的3.0.5文件 简而言之,当app.sh运行时,它会运行mvn命令。当该脚本运行并且在该脚本中调用mvn时,我需要运行maven的3.0.5版。我怎样才能做到这一点?这可能吗?在运行脚本之前,您可以尝试将mvn别名设置为3.0.5版本,如下所示: alias m

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


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

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

alias mvn='/opt/mvn-3.0.5/bin/mvn'
根据需要更改上述别名以更正mvn路径

第二个选项是将
PATH
变量更改为将所需的
mvn
二进制置于标准mvn之前,如下所示:

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

我不想每次都这么做。你知道我是否可以把这些东西放到shell脚本中并执行它吗?比如“startapp.sh”,哪个为我做出口?那么shell会保留别名吗?是的,请确保您可以在shell脚本中存储我建议的2个命令中的任何一个。脚本中的别名。它解析为当前安装的mvn(3.1.1)