(我正在编辑现有的 Bash 脚本,所以我可能在这里犯了一个愚蠢的错误......)
我有一个 shell 脚本,它保存一个带有环境变量作为其参数的命令,如下所示:
COMMAND="mvn clean install -P $MAVEN_PROFILE"
然后它执行的命令nohup
大致如下:
nohup $COMMAND > logfile
这有效。
现在,我想设置一个可以在 Maven 中访问的环境变量。我尝试过如下几种方法:
COMMAND="FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE"
...但随后它就以以下方式终止:
nohup: failed to run command `FORMAVEN=valueForMaven': No such file or directory
我觉得这里有几个不相关的概念在起作用,我都不理解,甚至不知道。我需要什么才能做到以上几点?
答案1
三种方法:
在启动 mvn 之前设置(并导出)变量
在 nohup 启动时设置变量:
FORMAVEN=valueForMaven nohup $COMMAND > logfile
使用 env 设置变量
COMMAND="env FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE"