(私は既存の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
ここには関係のない概念がいくつかあるように思いますが、どれも理解していないし、知りさえしていません。上記を行うには何が必要ですか?
3つの方法:
mvnを起動する前に変数を設定(およびエクスポート)します
nohupの起動時に変数を設定します。
FORMAVEN=valueForMaven Nohup $COMMAND > logfile
envを使用して変数を設定する
COMMAND="env FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE"