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