在 CentOS 中设置环境变量(env 变量)有多种方式,取决于作用范围(当前用户 / 所有用户 / 临时 / 永久)和使用场景。下面按常见情况说明。
只在当前终端生效,关闭终端后失效。
export VAR_NAME=value
示例:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
验证:
echo $JAVA_HOME
编辑用户主目录下的配置文件:
vi ~/.bashrc
或(登录 shell):
vi ~/.bash_profile
添加:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
使配置生效:
source ~/.bashrc
编辑:
sudo vi /etc/profile
或新建文件(推荐):
sudo vi /etc/profile.d/myenv.sh
内容:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
赋予执行权限(可选但推荐):
sudo chmod +x /etc/profile.d/myenv.sh
加载:
source /etc/profile
✅ 优点:
如果是系统服务需要环境变量,不能直接用 /etc/profile。
[Service]
Environment="JAVA_HOME=/usr/local/java"
Environment="PATH=/usr/local/java/bin:/usr/bin:/bin"
[Service]
EnvironmentFile=/etc/sysconfig/myapp
/etc/sysconfig/myapp 内容:
JAVA_HOME=/usr/local/java
PATH=/usr/local/java/bin:/usr/bin:/bin
然后:
sudo systemctl daemon-reload
sudo systemctl restart myapp
env
printenv
echo $VAR_NAME
unset VAR_NAME
PATH=$JAVA_HOME/bin:$PATH
/etc/profile、~/.bash_profile~/.bashrc如果你有具体场景(如 Java / Python / Docker / systemd / 多用户),可以告诉我,我可以给你精确配置示例。