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
# 脚本执行时有效,结束后消失

posted @ 2026-02-28 17:02  Dog17  阅读(0)  评论(0)    收藏  举报