**참고) 파일명이 .sh로 끝나게 작성하지 않아도 쉘 스크립트는 정상적으로 작동한다. 하지만 파일명만 보고 쉘 스크립트 파일인지 바로 알아볼 수 있게, 파일명을 .sh로 끝나게 작성하는 걸 추천한다.
파일 첫 줄에 #!/bin/bash 작성하기
first.sh
#!/bin/bash
위 코드는 해당 스크립트를 어떤 쉘(shell)로 실행할 지를 명시하기 위해서 작성한다. 하지만 쉘(shell)이 뭔지, 다양한 쉘(shell)에는 어떤 것들이 있는 지 배우지 않았다. 따라서 그냥 ‘쉘 스크립트를 작성할 때 첫 줄에는 위 코드를 쓰는 게 좋구나’라고만 알고 넘어가자.
(리눅스를 처음 입문하는 입장에서 이 코드의 의미를 정확하게 파악하는 게 별로 중요하지 않으니 그냥 넘어가도 된다.)
자동으로 실행시키고 싶은 명령어들 순서대로 입력하기
first.sh
#!/bin/bash
echo 1
echo 2
echo 3...
위와 같이 입력하고 파일을 저장하고 나오자.
쉘 스크립트 파일 실행하기
아래와 같이 실행시키고자 하는 파일의 경로를 명령어로 입력하면 된다.
$ ./first.sh
하지만 명령어를 입력해보면 Permission denied라고 에러가 뜬다. 이전 강의에서 이 에러의 원인에 대해 많이 파헤쳐봤었다. 이번에도 한 번 왜 Permission denied가 떴는 지 분석해보자.
✅ Permission denied 에러 분석하기
$ ls -l # 현재 디렉토리의 모든 파일에 대한 파일 세부 정보 확인하기
$ ls -l first.sh # first.sh에 대한 파일 세부 정보 확인하기
소유자가 ubuntu이고, 소유 그룹이 ubuntu로 설정되어 있다. 그리고 파일 권한은 rw-rw-r--으로 설정되어 있다. 따라서 ubuntu 사용자로 접근하면 rw-의 권한만 가지고 있고 x에 대한 권한을 가지고 있지 않다. 그래서 쉘 스크립트 파일을 실행시키려고 할 때 Permission denied 에러가 뜬 것이다.