Computer Science/Linux
#!/bin/sh 는 왜 쓰는거야? - 셔뱅, 해시뱅(shebang, hashbang)
yesbaby.
2022. 6. 7. 19:13
반응형
아마 초보 개발자들이 처음 선배들의 쉘이나 파이썬 코드를 보면 의문이 생길껍니다.
아니 첫줄에 주석인데 저건뭐지?
의미없는걸 왜 꼭 챙겨서쓰는거지?
이건 주석이 아니라 셔뱅(shebang)입니다.
sharp(#) + bang(!) 합성어로 Unix계열 OS(리눅스, Mac)에서 스크립트(bash, python등등) 코드 최상단에서 해당 파일을 해석해줄 인터프리터의 절대경로를 지정합니다.
지정된 인터프리터 프로그램이 대신 실행되어 스크립트의 실행을 시도할 때 처음 사용되었던 경로를 인수로서 넘겨주게 됩니다.
시스템마다 인터프리터의 절대경로는 다를 수 있기때문에 가능하면 심볼릭 링크가 있는 /usr/bin/env를 경로로 사용하는 것이 좋습니다.
반응형