일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MongoDB
- gradle
- dynamic query
- K6
- spring
- 운영체제
- 학점
- 리눅스
- 백준 알고리즘
- 프로젝트
- oracle
- smart cast
- 문법 정리
- 파이썬 소스
- 자바
- SQL
- 유사코드
- 티스토리
- auto configure
- c#
- hyperledger
- 자바 프로젝트
- 알고리즘
- jsp
- 오라클
- resilience4j
- JVM
- 초대장
- 오라클 디비
- 파이썬
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 |