셸 스크립트 작성을 시작하려면 문법 강조 기능을 지원하는 텍스트 편집기를 사용하는 것이 편리합니다.
예를 들어 vim은 이를 위한 좋은 도구입니다.
스크립트의 이름은 다음 규칙을 따라야 합니다.
기존 명령의 이름이 없습니다.
영숫자만 사용할 수 있습니다. 즉, 강조 기호나 공백은 사용할 수 없습니다.
셸 스크립트임을 나타내는 .sh 확장자 사용합니다.
참고
이 문서에서는 사용자의 커맨드 프롬프트를 나타내기 위해 "$" 기호를 사용합니다.
#!/usr/bin/env bash
#
# Author : Rocky Documentation Team
# Date: March 2022
# Version 1.0.0: "Hello world!"
텍스트를 표시합니다
#
#화면에 텍스트 표시:
echo "Hello world!"
이 스크립트를 실행하려면 bash의 인수로 다음과 같이 호출해야 합니다.
$ bash hello-world.sh
Hello world !
또는 더 간단하게, 실행 권한을 부여한 후에 다음과 같이 실행합니다.
$ chmod u+x ./hello-world.sh
$ ./hello-world.sh
Hello world !
참고
스크립트를 실행하려면 스크립트가 있는 디렉토리에 있을 때에는 스크립트 이름 앞에 ./를 붙여 호출해야 합니다. 해당 디렉토리가 아닌 경우, 스크립트의 전체 경로로 호출하거나 PATH 환경 변수에 속한 디렉토리(예: /usr/local/sbin, /usr/local/bin 등)에 스크립트를 배치해야 합니다.
인터프리터는 경로를 지정하지 않고 현재 디렉토리에 있는 스크립트를 실행하는 것을 거부합니다(여기에서는 앞에 ./가 있는 경우).
chmod 명령은 새로 생성한 스크립트에만 한 번 사용되어야 합니다.
어떤 스크립트든지 첫 번째로 작성해야 할 줄은 스크립트를 실행하기 위해 사용할 셸 바이너리의 이름을 지정하는 것입니다. ksh 셸 또는 인터프리터 언어인 python을 사용하려면 다음 줄을 대체합니다.
#!/usr/bin/env bash
그리고 :
#!/usr/bin/env ksh
또는 다음과 같이 대체합니다.
#!/usr/bin/env python
이 첫 번째 줄을 shebang이라고 합니다. 이는 사용할 명령 해석기 바이너리의 경로를 나타내는 #! 문자로 시작합니다.
Shebang에 대해
"env" 섹션을 포함하지 않고 단순히 사용할 인터프리터를 포함하는 스크립트에서 "shebang"을 발견했을 수 있습니다. (예: #!/bin/bash). 저자의 방법은 "shebang"을 올바르게 포맷팅하는 적절하고 권장되는 방법입니다.
왜 저자의 방법이 권장되는 걸까요? 이는 스크립트의 이식성을 높여줍니다. 어떤 이유로 인해 인터프리터가 완전히 다른 디렉토리에 있다고 해도, 저자의 방법을 사용하면 **여전히 ** 인터프리터를 찾을 수 있습니다.
코드를 작성하는 동안, 특히 주석을 사용하여 스크립트를 교정해야 합니다.
처음에는 스크립트의 목적, 저자, 버전, 사용 방법 등을 나타내는 일반적인 소개를 작성합니다.