欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu 环境变量设置

程序员文章站 2022-06-03 22:35:23
...

先上结论,修改环境变量建议以在/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/localelocate 环境变量设置,不建议修改。
/etc/bash.bashrc bash shell 执行时生效,桌面登录无效。

2. 查看环境变量

# 查看指定环境变量,如 PATH
echo $PATH
# 查看全部环境变量
env

更多信息请查阅 help.ubuntu.com