在 CentOS 里获取“env(环境变量)”,常见有几种方式,取决于你想看当前环境、某个进程的环境,还是系统级配置。下面按使用场景给你一个完整说明。
env
或
printenv
echo $PATH
echo $HOME
echo $USER
示例:
echo $PATH
/usr/local/bin:/usr/bin:/bin
set
⚠️ 注意:set 会输出很多内容,包括 shell 函数。
/proccat /proc/<PID>/environ
为了可读性:
cat /proc/<PID>/environ | tr '\0' '\n'
示例:
ps -ef | grep nginx
cat /proc/1234/environ | tr '\0' '\n'
/etc/environment
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
~/.bash_login
~/.profile
常用修改方式:
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
让配置生效:
source ~/.bashrc
systemctl show <service> --property=Environment
示例:
systemctl show nginx --property=Environment
systemctl edit nginx
添加:
[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java"
| 类型 | 示例 | 生效范围 |
|---|---|---|
| 临时 | export VAR=1 |
当前 shell |
| 用户永久 | ~/.bashrc |
当前用户 |
| 系统永久 | /etc/profile.d/*.sh |
所有用户 |
PATH 可执行程序搜索路径
HOME 当前用户主目录
USER 当前用户名
LANG 系统语言
SHELL 当前 shell
HOSTNAME 主机名
env # 查看所有环境变量
echo $PATH # 查看 PATH
cat /proc/PID/environ # 查看进程环境
如果你能具体说一下:
我可以给你更精准的命令。