!["nohup"으로 실행되는 프로그램에 대한 환경 변수를 설정하는 방법은 무엇입니까?](https://linux55.com/image/94013/%22nohup%22%EC%9C%BC%EB%A1%9C%20%EC%8B%A4%ED%96%89%EB%90%98%EB%8A%94%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%20%EB%8C%80%ED%95%9C%20%ED%99%98%EA%B2%BD%20%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
(기존 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"