临时设置(当前会话有效)
export VAR_NAME="value" # 设置变量
echo $VAR_NAME # 查看变量
unset VAR_NAME # 删除变量
示例:临时添加路径到PATH
export PATH=$PATH:/home/user/bin
永久设置(用户级)
~/.bashrc(推荐,适用于Bash用户)nano ~/.bashrc
# 添加变量(如JAVA_HOME)
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc # 使配置立即生效
~/.profile(适用于登录Shell)永久设置(系统级)
/etc/environment(需管理员权限)sudo nano /etc/environment
# 直接添加变量(格式:VAR=value,无export)
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/custom/path"
sudo reboot # 重启生效
/etc/profile.d/(全局Shell配置)custom_vars.sh),需赋予可执行权限:sudo vim /etc/profile.d/custom_vars.sh
# 内容示例
export GLOBAL_VAR="value"
sudo chmod +x /etc/profile.d/custom_vars.sh
source /etc/profile.d/custom_vars.sh
路径管理技巧
if [[ ":$PATH:" != *":/new/path:"* ]]; then
export PATH=$PATH:/new/path
fi
export PATH=/new/path:$PATH # 优先搜索新路径
变量继承与作用域
export保留变量到子进程:export VAR=value # 子进程可访问
./script.sh # 脚本中可访问VAR
exportVAR=value # 仅在当前Shell有效
特殊场景配置
~/.xprofile或通过桌面环境设置工具(如GNOME Tweaks)。~/.zshrc,Fish用户需修改~/.config/fish/config.fish。source /path/to/env_file # 文件中需包含export语句
查看变量
env 或 printenvecho $VAR_NAMEecho $PATH | tr ':' '\n'常见问题处理
source或重启终端/系统。sudo编辑。export语句格式正确(等号两侧无空格)。~/.bashrc或~/.profile管理。source引入。.bashrc)纳入Git等版本控制,便于备份和同步。