在 Debian 系統中,環境變量的作用域決定了環境變量在哪些進程和腳本中可用。環境變量可以在不同的級別設置,主要包括以下幾種:
全局環境變量:這些變量在系統啟動時設置,對所有用戶和進程都可見。全局環境變量通常定義在 /etc/environment 文件中。這個文件使用簡單的鍵值對格式,每行一個變量。
用戶級環境變量:這些變量僅對特定用戶可見。用戶級環境變量可以定義在用戶的 ~/.bashrc、~/.bash_profile 或 ~/.profile 文件中。這些文件通常使用 shell 腳本語法,可以包含條件語句和循環等復雜邏輯。
會話級環境變量:這些變量僅在當前 shell 會話中可見。你可以在終端中直接設置會話級環境變量,例如 export MY_VARIABLE=value。這些變量在關閉終端或啟動新的 shell 會話時失效。
系統級環境變量:這些變量對系統中的所有用戶和進程都可見,但它們的設置方式不同于全局環境變量。系統級環境變量通常定義在 /etc/profile.d/ 目錄下的腳本文件中。這些腳本在用戶登錄時自動執行,從而設置環境變量。
需要注意的是,環境變量的作用域可能會受到其他因素的影響,例如子進程會繼承父進程的環境變量,但在某些情況下,子進程可能會修改或覆蓋這些變量。因此,在編寫腳本和使用環境變量時,要確保了解它們的作用范圍和生命周期。