unset — 刪除 Shell 變數或函數
刪除 Shell 變數或函數,使其完全不存在。
語法
unset [選項] 名稱...
常用選項
| 選項 | 說明 | 範例 |
|---|---|---|
-v |
只刪除變數(預設) | unset -v MYVAR |
-f |
只刪除函數 | unset -f myfunc |
-n |
刪除名稱引用(nameref) | unset -n ref |
使用範例
範例 1:刪除環境變數
刪除 TEMP_API_KEY 變數,確保敏感資訊不殘留在環境中。
$ export TEMP_API_KEY="secret123"
# ... 使用後 ...
unset TEMP_API_KEY
printenv TEMP_API_KEY # 無輸出(已刪除)
範例 2:在腳本中清理暫時變數
腳本結束前清理敏感的暫時變數(如密碼)。
$ PASSWORD="my-secret"
curl -u "admin:" https://api.example.com/
unset PASSWORD