일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오라클
- 프로젝트
- 운영체제
- hyperledger
- oracle
- JVM
- 백준 알고리즘
- spring
- jsp
- 초대장
- dynamic query
- 리눅스
- 알고리즘
- 자바 프로젝트
- K6
- gradle
- 문법 정리
- 파이썬
- resilience4j
- MongoDB
- 파이썬 소스
- smart cast
- c#
- SQL
- 학점
- 유사코드
- 오라클 디비
- 자바
- auto configure
- 티스토리
Archives
- Today
- Total
모종닷컴
셔뱅(shebang) 본문
반응형
shebang (셔뱅)
셔뱅이란 # 기호와 ! 기호가 붙은 형태의 문자열을 의미합니다. 스크립트의 가장 첫 줄에 선언되며, sha-bang(샤뱅), hashbang(해시뱅), pound-bang(파운드뱅), hash-pling(해시 플링), crunchbang(크런치뱅)등으로 불리기도 한다고 합니다.셔뱅은 유닉스 기반 시스템에서 스크립트 파일의 첫 번째 줄에 사용을 하는데 셔뱅 이후의 경로에 스크립트를 실행할 인터프리터 지시자의 경로를 적어줍니다. 예로 "#!/bin/sh"에서 셔뱅(#!)을 제외한 /bin/sh이 인터프리터 지시자가 됩니다.
예시(쉘 스크립트)
파일 하나를 먼저 만들겠습니다.
touch sh-script
vi로 파일 내용을 수정해 주도록 하겠습니다. 파일 내용은 아래와 같이 입력해 주면 됩니다.
#!/bin/sh
echo "hello shell"
실행해 보기 위해 파일에 실행 권한을 부여하고 실행해 봅니다.
chmod +x sh-script
./sh-script
예시 (파이썬 스크립트)
파일을 생성합니다.
touch py-script
내용을 채워줍니다.
#!/usr/bin/env python3
print("hello python")
위에서 쉘 예시와 같이 실행 권한을 부여하고 실행을 해줍니다.
인터프리터가 이해하지 못하는 구문 넣어서 테스트해 보기
인터프리터를 셔뱅라인에 지정했다면 해당 인터프리터가 이해할 수 있는 문법을 사용해야 할 텐데요. 인터프리터가 이해할 수 없는 구문이 만약 사용된다면 오류가 날 겁니다. 이를 직접 확인해 봅니다.
아래 내용을 py-script에 넣어주세요.
#!/usr/bin/env python3
print("hello python")
echo("hello echo")
실행해 보면 아래와 같이 오류가 나는 것을 확인할 수 있습니다.
echo("hello echo")
^^^^
NameError: name 'echo' is not defined
반응형
'기술 용어' 카테고리의 다른 글
Rolling Upgrade (0) | 2023.11.05 |
---|---|
Reentrancy (0) | 2023.07.29 |
Swap memory (0) | 2022.11.27 |
서버 이중화 동작 방식 (0) | 2022.09.11 |
유한 상태 기계 (Finite-State Machine, FSM) (0) | 2022.08.16 |