刪除Linux shell中匯出的環境變數
概述
本文解釋如何從系統中刪除環境變數。
環境變數是一種特殊的變數,可以在您的機器上執行的所有程序中使用。此變數的名稱為EXPORTED_VARIABLE。您可以使用它在不同的程式之間甚至不同的使用者之間傳遞資訊。例如,您可能希望匯出儲存音樂檔案的目錄的路徑,以便其他使用者可以輕鬆訪問它們。
環境變數
環境變數儲存在程序的記憶體空間中,可以透過getenv()函式訪問。它返回指向指定環境變數值的指標。如果沒有這樣的變數,則返回NULL。
Linux shell中匯出的變數列表
您可以使用env命令列出當前所有匯出的環境變數。此命令列出已為當前使用者設定的所有環境變數。
$ env | grep -i '^EXPORT' EXPORTPATH/usr/bin:/usr/local/bin:/home/user1/bin
您可以使用以下命令檢視匯出的變數列表:
$ env | grep -i 'EXPORTED_VAR'
使用unset命令
unset命令是一個shell命令,用於清除匯出環境變數的值。這意味著,如果您執行unset EXPORTED_VARAIBLE,則任何程序都將不再訪問該變數的值。如果要完全刪除變數,則需要執行unset -f EXPORTED_VARIABLE。
讓我們使用此命令並檢視是否得到任何結果。
$ export file_name="test.txt" $ env | grep file_name file_name=test.txt $ unset file_name $ env | grep file_name
我們透過執行env命令來驗證該變數是否已從我們的shell環境中刪除。
賦值為空值
您可以透過為匯出的變數賦值為空值來清除它們的值。
$ export file_name="test.txt" $ env | grep file_name file_name=test.txt $ export file_name= $ env | grep file_name file_name=
它實際上並沒有從環境中刪除變數;而只是將其設定為一個空字串。
使用env命令
env命令允許我們在修改後的環境中執行程式。然後,我們可以使用此命令重置匯出變數的匯出狀態。
$ export file_name="test.txt" $ env | grep file_name file_name=test.txt $ env -i bash $ env | grep file_name
我們在這裡使用-i標誌,它清除使用者先前設定的變數,並使用預設值啟動另一個bash shell。
退出新的bash會話並檢查環境變數是否出現在舊的會話中。
$ exit $ env | grep file_name file_name=test.txt
結論
我們查看了幾種匯出環境變數的不同方法,以便以後可以使用它。我們可以使用這些命令列工具使我們的shell指令碼程式碼更健壯。
廣告