在Debian環境下,環境變量的優先級如下:
內核參數:內核參數是系統啟動時由內核設置的,具有最高的優先級??梢酝ㄟ^sysctl
命令查看和修改內核參數。
/etc/environment:這是一個全局配置文件,用于設置系統范圍內的環境變量。它在系統啟動時被讀取,優先級次于內核參數。
/etc/profile 和 /etc/profile.d/ 目錄下的腳本:這些腳本在用戶登錄時執行,用于設置用戶級別的環境變量。它們的優先級低于/etc/environment。
~/.bashrc 和 ~/.bash_profile(或 ~/.profile):這些文件是針對單個用戶的配置文件,它們在用戶登錄時執行。~/.bashrc 主要用于交互式shell,而 ~/.bash_profile(或 ~/.profile)主要用于登錄shell。它們的優先級低于/etc/profile 和 /etc/profile.d/ 目錄下的腳本。
~/.pam_environment:這是一個用戶級別的環境變量配置文件,它允許PAM(Pluggable Authentication Modules)模塊設置環境變量。它的優先級低于~/.bashrc 和 ~/.bash_profile(或 ~/.profile)。
命令行參數:在啟動程序時,可以通過命令行參數傳遞環境變量。這種方式的環境變量優先級最低。
總結一下,環境變量的優先級順序為:內核參數 > /etc/environment > /etc/profile 和 /etc/profile.d/ 目錄下的腳本 > ~/.bashrc 和 ~/.bash_profile(或 ~/.profile)> ~/.pam_environment > 命令行參數。