시작 스크립트: "exec"와 "bash" 명령의 차이점은 무엇입니까?

시작 스크립트: "exec"와 "bash" 명령의 차이점은 무엇입니까?

bw의 차이점은 무엇입니까?

  1. exec script.sh 그리고
  2. bash script.sh

script.sh에 적절한 읽기/실행 권한이 모두 설정되어 있다고 가정합니까?

답변1

exec script.sh 바꾸다쉘은 현재 쉘의 shebang 라인에 정의되어 script.sh있으며 해당 인터프리터를 사용하여 파일의 나머지 부분을 실행합니다. 파일 확장자에 관계없이 /bin/sh에서 까지 무엇이든 될 수 있습니다 . /usr/bin/python이렇게 하려면 script.sh실행 가능해야 합니다. 이것의 한 가지 부작용은 script.sh완료되면 쉘도 종료된다는 것입니다. 대화형 터미널인 경우 터미널도 종료됩니다.

bash script.shshebang 라인과 관계없이 bash해석을 위해 새로운 쉘을 사용하십시오 . script.sh즉, shebang 라인이 존재하면 무시됩니다. script.sh이런 방식으로 작동하기 위해 실행 가능해야 할 필요는 없습니다.

관련 정보