앞에 "bash"를 추가하면 제대로 실행되는 스크립트가 있습니다.
bash ./myscript.sh /opt/config/run.config
그런데 이렇게 하지 않으면 아래 줄에서 멈추고 종료됩니다.
source "/opt/config/test.config"
명령 앞에 bash를 추가해도 문제가 없습니다.
새 상자를 설정할 때 누락된 환경 변수에 뭔가가 있습니까? 동일한 스크립트가 이전 시스템에서도 문제 없이 작동합니다.
답변1
#!/bin/bash
해결책: 스크립트 헤드에 shebang을 추가하세요.
첫 번째 줄에 원하는 쉘을 강제로 적용할 수 있습니다. #!/bin/bash
이는 현재 수행 중인 작업을 수행하는 또 다른 방법입니다.bash ./myscript ...
#!/bin/bash
...
...
source "/opt/config/test.config"
...
...
문제에 대한 가능한 설명
셸에는 source
내장 명령이 없습니다 sh
(그리고 이름이 붙은 프로그램도 없습니다 source
). 따라서 스크립트가 에 의해 실행되면 sh
명령줄에서는 실패하게 됩니다 source
.