如何为使用 `nohup` 执行的程序设置环境变量?

Vin*_*ent 15 bash shell-script nohup environment-variables subshell

(我正在编辑一个现有的 Bash 脚本,所以我可能在这里犯了一个愚蠢的错误......)

我有一个 shell 脚本,它保存一个带有环境变量的命令作为它的参数,如下所示:

COMMAND="mvn clean install -P $MAVEN_PROFILE"
Run Code Online (Sandbox Code Playgroud)

然后它执行命令nohup大致如下:

nohup $COMMAND > logfile
Run Code Online (Sandbox Code Playgroud)

这有效。

现在,我想设置一个可以在 Maven 中访问的环境变量。我尝试了以下几件事:

COMMAND="FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE"
Run Code Online (Sandbox Code Playgroud)

...但它只是以:

nohup: failed to run command `FORMAVEN=valueForMaven': No such file or directory
Run Code Online (Sandbox Code Playgroud)

我觉得这里有几个不相关的概念在起作用,我不理解甚至不知道这些概念。我需要什么才能做到以上几点?

APr*_*mer 25

三种方法: