Bash - 첫 번째 스크립트¶
이 장에서는 bash로 첫 번째 스크립트를 작성하는 방법을 배울 것입니다.
목적: 이 문서에서는 다음을 수행하는 방법에 대해 알아볼 것 입니다:
bash에서 첫 번째 스크립트 작성하는 방법 첫 번째 스크립트를 실행하는 방법 shebang를 사용하여 어떤 셸을 사용할지 지정하는 방법
linux, 스크립트, bash
지식:
복잡성:
소요 시간: 10분
나의 첫 번째 스크립트¶
셸 스크립트 작성을 시작하려면 문법 강조 기능을 지원하는 텍스트 편집기를 사용하는 것이 편리합니다.
예를 들어 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"을 올바르게 포맷팅하는 적절하고 권장되는 방법입니다.
왜 저자의 방법이 권장되는 걸까요? 이는 스크립트의 이식성을 높여줍니다. 어떤 이유로 인해 인터프리터가 완전히 다른 디렉토리에 있다고 해도, 저자의 방법을 사용하면 **여전히 ** 인터프리터를 찾을 수 있습니다.
코드를 작성하는 동안, 특히 주석을 사용하여 스크립트를 교정해야 합니다.
- 처음에는 스크립트의 목적, 저자, 버전, 사용 방법 등을 나타내는 일반적인 소개를 작성합니다.
- 작업을 이해하는 데 도움이 되도록 텍스트 중간에 주석을 추가합니다.
주석은 별도의 줄에 작성하거나 명령이 포함된 줄 끝에 작성할 수 있습니다.
예시:
# 이 프로그램은 날짜를 표시합니다
date # 이 줄은 날짜를 표시하는 줄입니다!
Author: Antoine Le Morvan
Contributors: Steven Spencer