Ubuntu 环境变量设置
先上结论,修改环境变量建议以在
/etc/profile.d/
中新增*.sh
的方式修改。
1. 环境变量设置
环境变量的作用范围简单分为单用户设置
和全部用户设置
两类,以下进行简单介绍。
1.1 针对单用户设置环境变量
~/.pam_environment
和~/.profile
(需要 重新登录 才会生效)
~/.pam_environment
用于设置环境变量,一行设置一个环境变量。示例:
# 无法使用 $HOME 变量,此时还未赋值,详细见:/etc/security/pam_env.conf
FOO=bar
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/MyPrograms
~/.pam_environment 一般被各类 GUI 用来设置语言和区域相关配置,通过图形化界面设置语言后,其中的值会被覆盖
~/.profile
在图形化界面或终端登录时,由 DisplayManager 执行。在 ~/.pam_environment 读取之后执行,可用于覆盖其中的值。示例:
export FOO=bar
export PATH="$PATH:$HOME/MyPrograms"
其他
/.bashrc*,*/.bash_profile,~/.bash_login
通常会建议在以上文件中添加环境变量,但是这些环境变量只有在 shell
中启动才会生效,在桌面图标等场景无效。
1.2 针对全部用户修改
/etc/environment
和/etc/profile.d/*.sh
/etc/environment
一行设置一个环境变量,不可使用变量。
FOO=bar
# 变量不可用
# PATH=${PATH}:/bin
/etc/profile.d/*.sh
会话启动时,由 DisplayManager
加载。示例:
# /etc/profile.d/my_java_envvars.sh
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0
export PATH=$PATH:$JAVA_HOME/bin
其他
/etc/profile
系统自带,修改之后升级可能会冲突,不建议在此修改,使用/etc/profile.d/*.sh
替代,实际上,/etc/profile.d/*.sh
由/etc/profile
通过 source
命令加载。/etc/default/locale
用 locate
环境变量设置,不建议修改。/etc/bash.bashrc
bash shell 执行时生效,桌面登录无效。
2. 查看环境变量
# 查看指定环境变量,如 PATH
echo $PATH
# 查看全部环境变量
env
更多信息请查阅 help.ubuntu.com
上一篇: 悲情皇后张嫣:11岁嫁给自己的舅舅,40岁就去世了
下一篇: Ubuntu设置环境变量