【學習 - shell - 解釋器】腳本首行#!的作用簡介

關於腳本第一行的 #!/usr/bin/python 的解釋,相信很多不熟悉 Linux 系統的同學需要普及這個知識,腳本語言的第一行,只對 Linux/Unix 用戶適用,用來指定本腳本用什麼解釋器來執行。

有這句的,加上執行權限後,可以直接用 ./ 執行,不然會出錯,因爲找不到 python 解釋器。

#!/usr/bin/python 是告訴操作系統執行這個腳本的時候,調用 /usr/bin 下的 python 解釋器。

#!/usr/bin/env python 這種用法是爲了防止操作系統用戶沒有將 python 裝在默認的 /usr/bin 路徑裏。當系統看到這一行的時候,首先會到 env 設置裏查找 python 的安裝路徑,再調用對應路徑下的解釋器程序完成操作。

#!/usr/bin/python 相當於寫死了 python 路徑。

#!/usr/bin/env python 會去環境設置尋找 python 目錄,可以增強代碼的可移植性,推薦這種寫法。

分成兩種情況:

(1)如果調用 python 腳本時,使用:

python script.py 

#!/usr/bin/python 被忽略,等同於註釋

(2)如果調用python腳本時,使用:

./script.py 

#!/usr/bin/python 指定解釋器的路徑

PS:shell 腳本中在第一行也有類似的聲明。例如:#! /bin/sh,或者,#! /bin/bash,也是同理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章