天问

linux环境变量出错急救

都知道运行一个命令需要切换到指定文件夹里面,在cmd控制台调用相关命令。而配置系统变量之后,在任何地方都可以

直接运行命令。windows里面系统-高级里面设置系统环境变量:

 

BaiduHi_2016-2-13_18-49-44

而在linux系统里面,以CentOS为例,通过配置/etc/profile文件添加环境变量。我初看了变量,和windows系统类似,大体意思还是懂得:BaiduHi_2016-2-13_18-54-24

但我发现export导出了几个path中都添加了$path变量,为此画蛇添足的将后续两句话删掉了$path。之后重新登录后就发现su,sudo,clear等大多数系统命令无法使用,由于我限制了root远程登录,而su命令却不可以切换到root登录,这样的话/etc/profile文件就无法修改了。这下才发现问题变得严重了,不能运行命令,系统难道就要变砖了吗。。。。

为此最后尝试了一个方法解决问题:想办法使用su命令-----切换到root登录-------修改为正确的环境变量。

那么su命令无法使用,为此进入普通用户目录,修改该用户的环境变量,使当前用户可以使用su命令,那么环境变量怎么写呢?用户环境变量.bash_profile是在全局/etc/profile下的继承和派生,su命令没有,说明.bash_profile文件没有配置su命令环境,而/etc/profile却配置了,为此只要把/etc/profile内容复制到.bash_profile文件中即可。。。BaiduHi_2016-2-13_19-4-57

系统环境变量配置会覆盖/etc/profile文件内容。这样su有可以使用了。。。。。切换到root账号,修改为正确环境变量,本文结束。。

 

博客地址:http://blog.yoqi.me/?p=86
扫我捐助哦
喜欢 0

这篇文章还没有评论

发表评论