Ubuntu環境變量根據作用范圍分為兩類:
~/.bashrc
、~/.profile
)。/etc/environment
、/etc/profile.d/
)。通過export
命令直接設置,關閉終端后失效。
語法:export VARIABLE_NAME="value"
示例:將/home/user/scripts
添加到PATH
變量:
export PATH="$PATH:/home/user/scripts"
驗證:
echo $PATH # 查看PATH是否包含新增路徑
echo $VARIABLE_NAME # 查看特定變量值
選擇以下配置文件之一,修改后需執行source
命令或重新登錄生效:
~/.bashrc
(推薦,適用于Bash用戶)~/.bashrc
在每次打開終端時加載,適合設置日常使用的變量(如PATH
、自定義別名)。
步驟:
nano ~/.bashrc
JAVA_HOME
并添加其bin
目錄到PATH
):export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
export PATH="$JAVA_HOME/bin:$PATH"
Ctrl+X
→Y
→Enter
)。source ~/.bashrc
~/.profile
(適用于登錄Shell)~/.profile
在用戶登錄時加載一次,適合設置需要持久化的變量(如系統路徑)。
步驟:
nano ~/.profile
PATH
):export PATH="$PATH:/home/user/custom_bin"
source ~/.profile
需管理員權限(sudo
),選擇以下配置文件之一:
/etc/environment
(推薦簡單變量)/etc/environment
在系統啟動時讀取,格式為KEY=value
(不支持變量擴展,如$PATH
)。
步驟:
sudo nano /etc/environment
JAVA_HOME
):JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/custom/bin"
/etc/profile.d/
下的自定義腳本(推薦腳本邏輯)/etc/profile.d/
下的.sh
腳本會在所有用戶登錄時執行,適合需要條件判斷或復雜邏輯的變量設置。
步驟:
sudo nano /etc/profile.d/custom_env.sh
if [ -d "/opt/custom/bin" ]; then
PATH="/opt/custom/bin:$PATH"
fi
export PATH
export SYSTEM_VAR="global_value"
sudo chmod +x /etc/profile.d/custom_env.sh
source /etc/profile
或重新登錄。/etc/ld.so.conf.d/
)若需添加動態庫搜索路徑(如CUDA、OpenCV庫),需修改此目錄下的配置文件。
步驟:
sudo nano /etc/ld.so.conf.d/custom_libs.conf
/opt/custom/lib
/usr/local/cuda/lib64
sudo ldconfig
(立即生效,無需重啟)。env
或printenv
(printenv
格式更簡潔)。echo $VARIABLE_NAME
(如echo $JAVA_HOME
)。PATH
變量:echo $PATH | tr ':' '\n'
(將路徑按冒號分隔顯示)。export
語句等號兩側無空格(如export PATH="$PATH:/new/path"
正確,export PATH = /new/path
錯誤)。PATH
變量用冒號:
分隔多個路徑。source
或重新登錄,否則修改不會生效。~/.zshrc
而非~/.bashrc
。/etc/environment
)需用sudo
編輯,避免權限不足。通過以上方法,可根據需求靈活配置Ubuntu環境變量,滿足不同場景的使用要求。