登陆系统时shell读取的顺序应该是
/etc/profile ->/etc/environment -->$HOME/.profile -->$HOME/.env
在/etc/profile中设置环境变量后,被/etc/environment中的环境变量覆盖了
查看/etc/environment,可看到
root@ubuntu:/usr/local# cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
把 /etc/enviroment 改为
PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
即可解决
本文详细解析了在登录系统时Shell读取环境变量的顺序:从/etc/profile到/etc/environment,再到用户家目录下的.profile和.env文件。并探讨了当/etc/profile中的设置被/etc/environment覆盖时的解决方案,通过修改PATH变量的定义方式,确保环境变量的正确加载。
6053

被折叠的 条评论
为什么被折叠?



