不知道服务器被谁给改坏了,许多命令都不能使用找不到,但是可以在/usr/bin/,/usr/local/bin等里面找到源程序,当时首先想到的就是环境变量,因为Windows在设置了环境变量之后就可以直接在命令提示符中使用该命令;所以Linux应该也一样;百度一下,找到解决方案:
首先输出环境变量$PATH;

echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin{}:/root/bin


结果发现其中竟然有个{},应该就是这个不符合语法;

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

执行之后,果然yum、wget等命令都可以使用,但是重新开启一个终端却仍然不能使用这些命令,echo $PATH结果和没改之前一样;
所以不得不采取第二种方案:

vi /etc/profile

然后在文本的最后加入一行:

export PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"

保存退出,然后用source使配置生效

source /etc/profile

 


问题解决.

当然我是确定环境变量写错的情况下才这样写的,如果要单独添加环境变量,最好不要修改原来的PATH。比如添加个jdk的执行目录,应该在/etc/profile中这样写:
JAVA_HOME=/usr/java/jdk1.6.0_21
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME

posted on 2015-12-16 14:36  步孤天  阅读(17288)  评论(0编辑  收藏  举报