출처 : http://happybruce.tistory.com
쉘 스크립트를 만들때, 가장 첫 라인에 #!/bin/bash 를 왜 써야 하는지에 대하여 알아 보도록 하겠습니다.
쉘 스크립트의 가장 첫 라인에 !/bain/bash 를 쓰게 됨으로 해서, 내가 사용 하려는 명령어 해석기가 bash 쉘 임을 미리 알려주는 것입니다. 일반적으로 스크립트에서 #는 주석기호이지만, 첫 라인의 #!/bin/bash 에서의 #은 주석기호가 아닙니다.
스크립트의 가장 첫 라인에 있는 #! 은 스크립트의 제일 앞에서 이 파일이 어떤 명령어 해석기의 명령어 집합인지를 시스템에게 알려주는 역할을 합니다.
#! 은 두 바이트의 "매직넘버"("magic number")로서, 실행 가능한 쉘 스크립트라는 것을 나타내는 특별한 표시자 입니다.
#! 바로 뒤에 나오는 것은 경로명으로, 스크립트에 들어있는 명령어들을 해석할 프로그램의 위치를 나타내는데 그 프로그램이 쉘인지, 프로그램 언어인지, 유틸리티인지를 나타냅니다. 이 명령어 해석기가 주석은 무시하면서 스크립트의 첫 번째 줄부터 명령어들을 실행시킵니다.
거의 대부분의 상업용 유닉스 및 리눅스 에서 기본 본쉘인 #!/bin/sh을 쓰면 비록 Bash 만 가지고 있는 몇몇 기능들을 못 쓰게 되겠지만 리눅스가 아닌 다른 머신에 쉽게 포팅 할 수 있게 해 줍니다. (이렇게 작성된 스크립트는 POSIX sh 표준을 따르게 됩니다. )
"#!" 뒤에 나오는 경로는 정확히 Full PATH를 기록 해야 합니다.
만약 PATH를 잘못 적게 되면, 스크립트를 돌렸을 때 거의 대부분 "Command not found"라는 에러 메세지만 보게 될 것입니다.
이상으로 쉘 스크립트 처음에 왜 "#!/bin/bash"를 반드시 써야만 하는지에 대하여 알아 보았습니다.
'기초 Linux 서버관리 > shell프로그래밍' 카테고리의 다른 글
메모리 사용량 스크립트 (0) | 2012.02.06 |
---|---|
CPU 사용량 쉘 스크립트 (0) | 2012.02.06 |
쉘프로그래밍 유용한 사이트 모음 (0) | 2012.01.31 |
df 옵션 (0) | 2012.01.27 |