초기화 스크립트가 PWD에서 실행되지 않음

초기화 스크립트가 PWD에서 실행되지 않음

gunicorn 웹 서버를 설치하고 gunicorn virtualenv init.d 스크립트를 만들었지만 service gunicorn start프로젝트 디렉토리에서 서비스를 실행하면 제대로 실행되지만 현재 작업 디렉토리가 /root 또는 다른 디렉토리와 같이 변경되면 오류가 발생합니다. init 스크립트를 편집하고 cd /root/demoproject/작업 디렉터리에서 실행될 때 스크립트 시작 부분에 다음 명령을 추가했습니다. cd /root/demoproject/init 스크립트에 명령을 추가하는 것 외에 실제 해결책은 무엇입니까?

답변1

스크립트를 특정 작업 디렉터리에서 실행해야 하는 경우(상대 경로 등을 사용하기 때문에) 스크립트가 작업 디렉터리를 변경하는 데 아무런 문제가 없습니다.

유일하게 하고 싶은 일은 실패할 경우 0이 아닌 종료 상태로 종료하는 것입니다 cd.

cd /root/demoproject || exit 1

환경 변수 값에 따라 스크립트에서 디렉터리를 변경할 수도 있습니다.

cd "${MY_WORK_DIR:-/root/demoproject}" || exit 1

그러면 작업 디렉터리가 지정된 디렉터리로 변경되지만, MY_WORK_DIR변수가 비어 있거나 설정되지 않은 경우 기본값은 해당 디렉터리로 변경됩니다./root/demoproject

관련 정보