(기존 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
세 가지 방법:
mvn을 시작하기 전에 변수 설정(및 내보내기)
nohup이 시작될 때 변수를 설정합니다.
FORMAVEN=valueForMaven nohup $COMMAND > logfile
env를 사용하여 변수 설정
COMMAND="env FORMAVEN=valueForMaven mvn clean install -P $MAVEN_PROFILE"