[note] 撰寫 CLI 的工具
概念
shebang
如果希望 JavaScript 的檔案能夠被在 Terminal 中被當成執行檔直接執行,而不用在最前面加上 node
的話,可以在 JavaScript 檔案的最上方加上 shebang(#!
),又稱作 hashbang。
舉例來說,建立一支 hello.js
的檔案:
console.log('Hello');
一般來說,如果要執行這支檔案,需要在執行該檔案前加上 node
,例如:
$ node hello
但如果我們希望讓這支檔案能夠類似 shell script 直接被執行的話:
$ ./hello.js
只需要:
- 在這支檔案的開頭最上方加上 shebang 宣告,告訴作業系統要用哪個 interpreter 來執行這支檔案:
#!/usr/bin/env node
console.log('Hello');
撰寫 shell script
這裡使用 JavaScript 的檔案示範,如果你寫的是 Shell Script,同樣只需在最上面定義用 shebang 定義 Bash 的來源(可以使用 which bash
找到 bash),例如 #! /bin/bash
。
- 讓這支檔案有被系統執行的權限:
$ chmod +x hello.js