Title here
Summary here
Shebang 係 Unix 同類 Unix 操作系統中嘅一個特殊符號,由字符 #!
組成,
用嚟指示腳本文件應該由邊個解釋器嚟執行。佢通常出喺腳本文件嘅第一行,後面跟住解釋器嘅路徑。
Shebang 使得腳本文件能夠好似可執行程序一樣直接運行,而唔使手動調用解釋器。
#
喺英文中表示 hash 或 sharp,!
喺編程同命令行中表示 bang,
呢兩個符號組合埋一齊就成咗 hash-bang 或 sharp-bang。
隨住時間嘅推移,hash-bang 最終簡化為 shebang。
Shebang 後面指定嘅路徑係解釋器嘅位置,例如:
系統會使用該路徑下嘅 bash 嚟執行呢個腳本內容。
唔同類型嘅腳本可以統一使用 ./file
嘅形式執行,無需顯式調用解釋器。
無需使用 bash file
執行,直接使用 ./file
。
無需使用 python file
執行,直接使用 ./file
。
我哋喺 bash 腳本中常常會見到下面嘅例子。
env
係一個與環境變量相關嘅命令。
當後面跟嘅參數係 bash
時,佢會根據環境變量 PATH
提供嘅路徑查找 bash 嘅解釋器。
咁樣做嘅好處係無需寫死 bash 解釋器嘅路徑,因為喺唔同嘅系統中,bash 解釋器可能會喺唔同嘅位置。
對於上面嘅 python 例子,更好嘅 Shebang 係使用 env。
如果冇 Shebang,可以手動調用解釋器。