Node - CLI, commander with 셔뱅

00_8_3·2022년 11월 4일
0

셔뱅

셔뱅(shebang)은 유닉스(UNIX) 및 리눅스(Linux) 운영체제에서 스크립트 파일을 실행할 때 사용하는 기능입니다. 셔뱅은 스크립트 파일의 첫 줄에 위치하며, 파일을 실행할 때 셸(shell)이 이 줄을 찾아서 인터프리터(interpreter)를 실행합니다.

commander with 셔뱅

실무에서 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/

https://ko.wikipedia.org/wiki/%EC%85%94%EB%B1%85

0개의 댓글