env — 顯示或設定環境變數

顯示所有環境變數,或以指定環境執行指令。

語法

env [選項] [名稱=值]... [指令]

常用選項

選項 說明 範例
-i, --ignore-environment 以完全空白的環境執行(不繼承任何環境變數) env -i PATH=/usr/bin command
-u 名稱 執行時移除指定的環境變數 env -u TERM bash
名稱=值 設定環境變數(只影響該次執行) env KEY=value command

使用範例

範例 1:顯示所有環境變數

不加參數則列出所有環境變數(效果類似 printenv)。

$ env | grep -i path
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
範例 2:在 shebang 中定位解釋器(最常見用途)

#!/usr/bin/env python3 比 #!/usr/bin/python3 更可攜性,會在 PATH 中搜尋 python3。

$ #!/usr/bin/env python3
print('Hello, World!')
範例 3:以額外環境變數執行指令

設定環境變數只在這次指令執行時生效,不影響 Shell 本身。

$ env DEBUG=1 NODE_ENV=production node app.js
範例 4:以乾淨環境執行

使用 -i 完全清空環境,只提供必要的變數,常用於安全測試或精確控制環境。

$ env -i HOME=/tmp PATH=/usr/bin:/bin bash --login

延伸閱讀