提要
刚刚不小心在/etc/profile中添加了错误的PATH变量,导致几乎所有的系统命令无法使用,惊出一身冷汗,然后经过多次试验终于修复成功。以下是部分经验:首先,PATH变量记录着各系统命令的存放路径,所以平时使用系统命令时可以直接输入命令而不需要连命令的路径一起。
比如"vi"命令,在PATH变量正常的时候直接输入"vi /etc/profile"就可以,而PATH变量出错的时候就需要输入"/bin/vi /etc/profile"才能正常使用,否则系统将提示错误。也就是说,即使PATH变量出问题,系统命令也不会丢失,只不过使用的时候必须输入命令所在的路径。
错误提示
[root@iZ2ze2nx6uwiss9bkxtz28Z opt]# ll -bash: ls: command not found
所有命令失效。
只能这样进入并重新修改变量
[root@iZ2ze2nx6uwiss9bkxtz28Z opt]# /bin/vi /etc/profile
最后是修复PATH变量的方法。修复PATH变量其实很简单,就是重新给PATH变量赋值就可以了。至于PATH的默认值可以从其他的服务器上复制过来。
使用"echo $PATH"命令就可以查看当前服务器的PATH变量值,在正常的服务器上运行命令并复制输出的结果,然后用"export PATH"命令重新给PATH命令赋值就可以了。命令如下:
"export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
[root@iZ2ze2nx6uwiss9bkxtz28Z opt]# source /etc/profile /usr/libexec/grepconf.sh: line 5: grep: command not found [root@iZ2ze2nx6uwiss9bkxtz28Z opt]# export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin [root@iZ2ze2nx6uwiss9bkxtz28Z opt]# ll
重新使其生效
[root@iZ2ze2nx6uwiss9bkxtz28Z opt]# source /etc/profile [root@iZ2ze2nx6uwiss9bkxtz28Z opt]# java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
继续阅读
- 我的QQ
- QQ扫一扫
-
- 我的头条
- 头条扫一扫
-
评论