셔뱅(shebang)은 유닉스(UNIX) 및 리눅스(Linux) 운영체제에서 스크립트 파일을 실행할 때 사용하는 기능입니다. 셔뱅은 스크립트 파일의 첫 줄에 위치하며, 파일을 실행할 때 셸(shell)이 이 줄을 찾아서 인터프리터(interpreter)를 실행합니다.
실무에서 commander로 만든 cli 프로그램을 설치 해야 할 일이 있었는데
개발자가 아닌 분들이 사용하기에 명령어가 길면 안되고 어느 디렉토리에서든 실행 가능 했어야 했다.
인터프리터 명령어를 줄이기 위해 셔뱅을 사용했다.
#!/usr/bin/env node
코드코드
{
"name": "my-package",
"version": "1.0.0",
"bin": {
"my-command": "index.js"
}
}
index.js
파일에 셔뱅을 사용한 commander가 작성되어 있으면
npm i -g
를 통해 글로벌 등록을 하게 되면 전역으로 my-command
가 설치 된다.
npm root
를 통해 디렉토리 위치를 알 수 있다.
윈도우 환경에서는 셔뱅을 지원하지 않기 때문에
스크립트의 글로벌 등록만 해주어야 한다.
https://blog.logrocket.com/building-typescript-cli-node-js-commander/