CentOS配置环境变量的三种方式
加载优先级(CentOS 典型流程)
用户登录
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc(~/.bash_profile如果有被调用)
/etc/bashrc(CentOS 特有)
用户获得环境
方式一:系统全局配置(所有用户)
1.1 /etc/profile(主配置文件)
# 编辑系统级环境变量
sudo vi /etc/profile
# 在文件末尾添加
export JAVA_HOME=/usr/lib/jvm/java-11
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
# 生效
source /etc/profile
1.2 /etc/profile.d/(推荐,模块化)
# 创建独立的配置文件(无需修改主文件)
sudo vi /etc/profile.d/java.sh
sudo vi /etc/profile.d/docker.sh
sudo vi /etc/profile.d/custom.sh
# 示例:/etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
# 立即生效
source /etc/profile.d/java.sh
1.3 /etc/environment(系统级,非脚本)
# 格式为 KEY=VALUE,无需 export
sudo vi /etc/environment
# 内容示例
JAVA_HOME=/usr/lib/jvm/java-11
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# 需重新登录生效
方式二:用户级配置(仅当前用户)
2.1 ~/.bash_profile(登录时执行)
# 用户登录时加载一次
vi ~/.bash_profile
# 示例
export PATH=$PATH:$HOME/bin
export MAVEN_HOME=/opt/maven
export PATH=$PATH:$MAVEN_HOME/bin
# 生效
source ~/.bash_profile
2.2 ~/.bashrc(每次打开终端执行)
# 交互式 Shell 时加载
vi ~/.bashrc
# 常用配置
alias ll='ls -alF'
alias rm='rm -i'
export PS1='\u@\h:\w\$ '
# 生效
source ~/.bashrc
方式三:临时生效(当前 Shell)
# 立即设置,仅当前终端有效
export MY_VAR="hello"
export PATH=$PATH:/tmp/tools
# 查看
echo $MY_VAR
# 退出终端后失效
在脚本中使用
#!/bin/bash
# 脚本内部临时设置,不影响外部
export TEMP_DIR="/tmp/myapp"
export LOG_LEVEL=debug
# 脚本执行时有效,结束后消失

浙公网安备 33010602011771号