Abstract:
原因: 从普通用户到root用户时应该用 su - 这样切换到root用户的同时Env也会改变为root的环境变量,如果仅仅是su 则切换root成功,但相关环境变量仍为普通用户,所以造成相关root的命令不能正常使用. 2014.0717
Redhat 5.9下不识别命令ifconfig,查找到该篇文章,并用第二种方法解决了该问题.
感谢下.http://blog.csdn.net/nothingisgod/article/details/6415199
lldn@localhost /]$ ifconfig
提示:“bash: ifconfig: command not found”
分析问题
1.whereis ifconfig 看一下这个命令在哪个目录下
2.echo $PATH 看一下该目录是否在路经下,注意lunux下是完全区分大小写的,所以不要忽略这点
3.执行命令,需要指定路径或者把目录加入PATH中
4.于是可以这样访问
方法一:[lldn@localhost sbin]$ /sbin/ifconfig
方法二:[lldn@localhost sbin]$ export PATH=$PATH:/sbin ,这样设置后,下次就可以直接访问了,免处第一种的麻烦,如:
[lldn@localhost /]$ ifconfig
方法三:修改/etc/profile文件,注释掉if语句即可
把下面的if语句注释掉:
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
修改为
# Path manipulation
# if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
#fi
注:不光是ifconfig命令出现“bash: ifconfig: command not found”,原因非root用户的path中没有/sbin/ifconfig
,其它的命令也可以出现这种情况,解决的方法是一样的。