温馨提示×

CentOS env如何配置

小樊
48
2026-08-19 13:43:09
栏目: 智能运维

CentOS 的环境变量(env)配置方式取决于作用范围(当前用户 / 全局)和使用场景(临时 / 永久)。下面按常见场景系统说明。


一、查看当前环境变量

env
# 或
printenv

查看单个变量:

echo $PATH

二、临时配置(仅当前 shell 有效)

关闭终端后失效。

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

✅ 常用于测试或一次性执行脚本。


三、永久配置(按作用范围)

1️⃣ 仅对当前用户生效

编辑用户家目录下的配置文件:

vi ~/.bashrc

添加:

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

立即生效:

source ~/.bashrc

如果是登录 shell,也可以配置 ~/.bash_profile


2️⃣ 对所有用户生效(推荐)

方法一:修改 /etc/profile

sudo vi /etc/profile

添加:

export GLOBAL_VAR=/opt/app
export PATH=$GLOBAL_VAR/bin:$PATH

生效:

source /etc/profile

方法二(推荐):/etc/profile.d/

更规范、易维护。

sudo vi /etc/profile.d/myenv.sh

内容:

#!/bin/bash
export MY_ENV=/opt/myapp
export PATH=$MY_ENV/bin:$PATH

赋予执行权限:

sudo chmod +x /etc/profile.d/myenv.sh

重新登录或:

source /etc/profile

生产环境推荐方式


四、系统级环境(不依赖 bash)

适用于 systemd / 非 shell 程序。

/etc/environment

sudo vi /etc/environment

示例:

JAVA_HOME=/usr/local/java
PATH=/usr/local/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

⚠️ 注意:

  • 不支持 export
  • 不支持变量引用($PATH 无效)

五、systemd 服务环境变量

如果是 systemd 管理的服务:

sudo vi /etc/systemd/system/myapp.service
[Service]
Environment="JAVA_HOME=/usr/local/java"
Environment="PATH=/usr/local/java/bin:/usr/bin"

重载:

sudo systemctl daemon-reload

六、验证是否生效

echo $JAVA_HOME
which java
env | grep JAVA

七、常见环境变量说明

变量 作用
PATH 命令搜索路径
HOME 用户家目录
USER 当前用户
LANG 语言/编码
JAVA_HOME Java 安装路径

八、CentOS 7 vs CentOS 8 / Stream

  • CentOS 7:默认 bash,使用 /etc/profile
  • CentOS 8 / Stream:systemd 为主,推荐 /etc/profile.d/ 或 service 配置

如果你有具体场景(如 Java / Python / Docker / 某个服务),可以告诉我,我可以给你一份精确配置示例

0