はじめに
Node.js で CLI を作ろうとしたら最初に書く #!/usr/bin/env node というもの。
最初に呪文のように書くこれは具体的にどのような意味があるのでしょうか。
!/usr/bin/env node の正体
この1行は shebang と呼ばれるもので、このファイルをどのプログラムで実行するかを OS に伝えるための記述です。
以下のものを最初に書くことによって、 Node.js で実行すると解釈されます。
#!/usr/bin/env node
つまり、以下のコマンドとほぼ同じ意味になります。
node script.js
shebang とは、スクリプトファイルの1行目に書かれる特別なコメントのことです。
最初の一行目にないと効果がありません。
#! から始まるこの行は、 Linux や macOS などの Unix 系 OS によって解釈されます。
どのプログラムで実行する解釈するということなので、 Node.js に限らず Python3 等でも使ったります。
Python3
#!/usr/bin/env python3
Bash
#!/usr/bin/env bash
当たり前ですが、以下のようにするとエラーが起こります。
.js-py?
#!/usr/bin/env python
console.log("hello");