bw의 차이점은 무엇입니까?
exec script.sh
그리고bash script.sh
script.sh에 적절한 읽기/실행 권한이 모두 설정되어 있다고 가정합니까?
답변1
exec script.sh
바꾸다쉘은 현재 쉘의 shebang 라인에 정의되어 script.sh
있으며 해당 인터프리터를 사용하여 파일의 나머지 부분을 실행합니다. 파일 확장자에 관계없이 /bin/sh
에서 까지 무엇이든 될 수 있습니다 . /usr/bin/python
이렇게 하려면 script.sh
실행 가능해야 합니다. 이것의 한 가지 부작용은 script.sh
완료되면 쉘도 종료된다는 것입니다. 대화형 터미널인 경우 터미널도 종료됩니다.
bash script.sh
shebang 라인과 관계없이 bash
해석을 위해 새로운 쉘을 사용하십시오 . script.sh
즉, shebang 라인이 존재하면 무시됩니다. script.sh
이런 방식으로 작동하기 위해 실행 가능해야 할 필요는 없습니다.