在 CentOS 中,环境变量(env 变量)丢失或被改坏,恢复方式取决于丢失的是哪一类变量,以及是临时还是永久。下面按常见场景给你一个“从简单到彻底”的恢复方案。
env
printenv
echo $PATH
如果 PATH 只剩很少内容,或命令找不到(command not found),说明变量被破坏了。
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
然后测试:
ls
which yum
export HOME=/root
export USER=root
export SHELL=/bin/bash
(普通用户把 /root 换成你的家目录)
source /etc/profile
或
source /etc/bashrc
source ~/.bashrc
source ~/.bash_profile
/etc/profile(系统级)vi /etc/profile
确认包含类似内容:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
保存后:
source /etc/profile
编辑:
vi ~/.bashrc
加上:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
生效:
source ~/.bashrc
cp /etc/skel/.bashrc ~/
cp /etc/skel/.bash_profile ~/
然后:
source ~/.bashrc
cp /path/to/backup/.bashrc ~/
cp /path/to/backup/.bash_profile ~/
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export 都没法用(极端情况)/bin/export PATH=/usr/bin:/bin
或
/usr/bin/env bash
| 检查项 | 命令 |
|---|---|
| PATH | echo $PATH |
| HOME | echo $HOME |
| SHELL | echo $SHELL |
| 当前 shell | ps -p $$ |
你可以直接告诉我:
我可以给你精确到文件的修复方案,甚至帮你写一份“安全版”环境变量配置。