리눅스 셸 스크립트 작성 및 실행 방법
셸 스크립트는 일련의 명령어를 포함하는 텍스트 파일입니다. 스크립트의 첫 줄은 ‘shebang’(#!)으로 시작하여 스크립트가 실행될 셸을 지정합니다. 예를 들어, Bash 셸 스크립트의 경우 첫 줄은 #!/bin/bash
로 시작합니다.
☞ 포스트 기준: 리눅스 배포판 CentOS 7
1. 간단한 셸 스크립트 예제
다음은 기본적인 ‘Hello World’ 셸 스크립트 예제입니다.
#!/bin/bash echo "Hello World"
셸 스크립트를 실행하기 위해서는 bash script.sh
또는 sh script.sh
명령을 사용하여 스크립트를 실행할 수도 있습니다.
![간단한 리눅스 셸 스크립트 예제](https://bluesharehub.com/wp-content/uploads/2023/12/image.png)
![간단한 리눅스 셸 스크립트 예제](https://bluesharehub.com/wp-content/uploads/2023/12/image.png)
2. 스크립트 실행 권한 설정
셸 스크립트 파일을 생성한 후에는 기본적으로 실행 권한이 부여되지 않습니다. 이를 확인하기 위해 ls -l script.sh
명령을 사용하여 파일의 권한을 확인할 수 있습니다. 파일 권한에서 ‘x’가 없다면, 해당 파일은 실행 권한이 없는 상태입니다.
스크립트 파일에 실행 권한을 부여하기 위해서는 chmod +x script.sh
명령을 사용합니다. ‘chmod +x’ 명령은 해당 파일에 대해 사용자, 그룹 및 기타 사용자에게 실행 권한을 추가합니다. 이 명령을 실행한 후에는 ls -l script.sh
를 다시 사용하여 ‘x’ 권한이 추가되었는지 확인할 수 있습니다.
이제 ./script.sh
명령을 사용하여 스크립트를 직접 실행할 수 있습니다. 만약 이전에 ‘허가 거부’ 메시지가 나타났다면, 이제는 스크립트가 정상적으로 실행되어야 합니다.
![리눅스 셸 스크립트 실행 권한 설정](https://bluesharehub.com/wp-content/uploads/2023/12/image-1.png)
![리눅스 셸 스크립트 실행 권한 설정](https://bluesharehub.com/wp-content/uploads/2023/12/image-1.png)
3. 디버깅 팁
셸 스크립트를 디버깅할 때는 set -x
명령이 매우 유용합니다. 이 명령은 스크립트가 실행되는 동안 각 명령어와 그 인자들이 콘솔에 출력되게 합니다. 이를 통해 스크립트의 어떤 부분에서 문제가 발생하는지 파악할 수 있습니다.
예를 들어, 다음과 같은 간단한 스크립트를 작성해 보겠습니다.
#!/bin/bash set -x # 디버깅 시작 echo "Hello World" # 스크립트의 다른 명령들... set +x # 디버깅 종료
이 스크립트를 실행하면, ‘Hello World’를 출력하기 전에 + echo 'Hello World'
라는 줄이 먼저 나타납니다. 이것은 ‘echo’ 명령이 실행되고 있음을 나타냅니다. set +x
명령은 디버깅 모드를 종료시킵니다. 디버깅 모드는 스크립트의 특정 부분에서만 활성화하고 싶을 때 유용하게 사용할 수 있습니다.
이런 식으로 set -x
와 set +x
명령을 활용하여 스크립트의 실행 과정을 확인하고 문제를 해결할 수 있습니다.
관련 이전 게시글
- VirtualBox CentOS 7에 PuTTY를 사용하여 SSH로 접속하는 방법
- 리눅스 명령어 도움말 및 매뉴얼 확인하기: –help, man, info
- 리눅스 chmod 명령어: 파일과 디렉토리의 접근 권한 설정하기
- 리눅스 ls 명령어: 디렉토리 내용 확인하기
- 리눅스 find 명령어: 파일 검색 및 고급 사용법
다음 글에서는 셸 스크립트 변수에 대해 알아볼 예정입니다. 도움이 되셨다면 공유해 주세요!