
(AWS에서 Ubuntu EC2 사용)
나는 스크립트를 가지고 있습니다 /home/ubuntu/start.sh
. 로 실행하면 ubuntu
잘 실행됩니다. 시작할 때 실행해야 하므로 /etc/rc.local
. 그러면 재부팅 시 루트로 실행되며 실패합니다. 다음을 통해 실패를 재현할 수 있습니다.
# I'm ubuntu
$ whoami
ubuntu
$ sudo su
# i'm now root
$ whoami
root
$ ./start.sh
./start.sh: line 9: npm: command not found
$ su -c ./start.sh - ubuntu
./start.sh: line 9: npm: command not found
그래서 그것은 다음과 같습니다:
- 루트는 알지 못합니다 ( 이해가 쉽도록 under
npm
에 의해 설치됨 ).ubuntu
/home/ubuntu/.nvm/versions/node/v4.2.6/bin/npm
su -c ./start.sh - ubuntu
우분투로 스크립트를 정확히 실행하지 않습니다
로 로그인한 것처럼 이 스크립트를 정확히 실행하려면 어떻게 해야 합니까 ubuntu
?
답변1
PATH=$PATH:/node/v4.2.6/bin/ ./start.sh
답변2
선호하는 텍스트 편집기로 /etc/rc.local을 편집하세요.
sudo nano /etc/rc.local
그리고 다음 줄을 추가하세요 su ubuntu -c /etc/rc.local/ubuntu/start.sh &
(실제로 파일 경로인 경우).
시작 시 ubuntu 사용자로 및 백그라운드 프로세스로 /etc/rc.local/ubuntu/start.sh를 실행합니다.