env
外觀
env是一條在Unix下的命令, 用於在重建的環境中運行程序。
範例
[編輯]以下命令行會將當前環境變量輸出到標準輸出:
$ env
以下命令行會在不包含任何環境變量的情況下創建一個新的 Shell:
$ env -i /bin/sh
以下命令行執行應用程式 xcalc,並將環境變量 DISPLAY 設置為 "foo.bar:1.0",從而使其顯示在指定的顯示器上:
$ env DISPLAY=foo.bar:1.0 xcalc
不過,這種對 env 的用法通常並非必需,因為大多數 Shell 都支持直接在命令前設置環境變量,例如:
$ DISPLAY=foo.bar:1.0 xcalc
env 還可用於腳本的Shebang行,以便通過 PATH 查找解釋器。例如,以下是一個 Python 腳本的代碼:
#!/usr/bin/env python3
print("Hello, World!")
在此示例中,/usr/bin/env 是 env 命令的完整路徑。環境不會被修改。
需要注意的是,也可以不使用 env,而是直接指定 python 解釋器的完整路徑。採用這種方法的問題在於,不同計算機系統上的具體路徑可能有所不同。使用示例中的 env 時,解釋器會在腳本運行時被搜索並定位(更準確地說,env 會調用系統調用 execvp,由其負責查找並啟動解釋器)。這提高了腳本的可移植性,但同時也增加了選錯解釋器的風險,因為它會在可執行文件搜索路徑中的每個目錄中查找匹配項。此外,這種方法也存在類似的問題:不同機器上的 env 可執行文件本身的路徑也可能不同。
參考文獻
[編輯]| 這是一篇與Unix相關的小作品。您可以透過編輯或修訂擴充其內容。 |