(既存のBashスクリプトを編集しているので、ここで愚かな間違いを犯す可能性があります...)
環境変数とともにコマンドを次の引数として格納するシェルスクリプトがあります。
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
3つの方法:
mvnを起動する前に変数を設定(およびエクスポート)
nohup の起動時に変数を設定します。
FORMAVEN=valueForMaven nohup $COMMAND > logfile
envを使用した変数の設定
COMMAND="env FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE"