在 Linux 系統中,環境變數影響著程式的執行行為。有時我們需要在「乾淨」的環境下執行指令,忽略目前 Shell 設定的所有環境變數(如 http_proxy、PATH 等),此時 env -i 就是最佳工具。本文將介紹如何檢視、統計與暫時清空 Bash 環境變數的完整操作流程。

開啟終端機,輸入以下任一指令:
printenv
# 或
env
輸出範例:

圖 01:Unix/Linux 列出所有環境變數
env | wc -l
# 或
printenv | wc -l
輸出範例:20(表示目前有 20 個環境變數)
語法:
env -i 你的程式名稱 [參數1] [參數2] ...
實戰範例:忽略 http_proxy 等環境變數,直接執行 wget 下載網頁:
env -i /usr/local/bin/wget www.example.com
# 或
env -i wget www.example.com
此技巧在以下情境極為實用:
| 參數 | 說明 |
|---|---|
-i, --ignore-environment | 忽略繼承的環境變數,從空環境啟動 |
-u 名稱, --unset | 移除指定的環境變數 |
-0, --null | 以 null 字元分隔輸出(配合 xargs -0) |
VAR=value | 暫時設定環境變數後執行指令 |