#!/usr/bin/env在腳本中的作用


在linux的一些腳本,需在開頭一行指定腳本的解釋程序,如:

#!/usr/bin/env bash

#!/usr/bin/bash

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

#!/usr/bin/python  告訴操作系統到env設置里查找python的安裝路徑,再調用對應路徑下的解釋器程序完成操作

兩種形式的區別是什么?

腳本用env啟動的原因,是因為腳本解釋器在linux中可能被安裝於不同的目錄,env可以在系統的PATH目錄中查找。同時,env還規定一些系統環境量。 而如果直接將解釋器路徑寫死在腳本里,可能在某些系統就會存在找不到解釋器的兼容性問題。

還可以加上-P參數來指定一些目錄去尋找perl這個程序, #!/usr/bin/env -S -P /usr/local/bin:/usr/bin:${PATH} perl --->在/usr/local/bin和/usr/bin和PATH變量中定義的目錄下尋找perl。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM