Chinaunix首页 | 论坛 | 博客
  • 博客访问: 316136
  • 博文数量: 28
  • 博客积分: 2156
  • 博客等级: 大尉
  • 技术积分: 232
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-02 15:31
文章分类

全部博文(28)

文章存档

2011年(7)

2010年(21)

分类: LINUX

2010-07-17 21:54:43

今天要在我的系统中添加一个用户,没有想到会出现这样的一个错误:如下所示:

[root@xudonglee xudonglee]# useradd devid
bash: useradd: command not found


各位请看清楚了,我用的可是root用户哦,但是为什么root用户还会报错呢?

原因就是在我从我的帐户su到root用户的时候是这样做得:


bash-3.2$ su
口令:
[root@xudonglee xudonglee]#


对,问他就处在“su”上面,因为如果只是使用su进行转换的话,并没有将root用户的环境变量和工作目录同时带入,环境变量没有带入这一点看不出来,但是工作目录大家都看的很清楚,最后一行,还是我对home目录,而不是root的家目录阿。

现在进行更正:


bash-3.2$ su -
口令:
[root@xudonglee ~]# pwd
/root
[root@xudonglee ~]#


这下就一目了然了,当使用“su -”时,root的环境变量和工作目录进行了更改,将工作目录改为他的家目录了。

下面是这种情况下,root的环境变量:

/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


而下面的是,我再次模拟使用“su”时,root的环境变量


/usr/kerberos/sbin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin


现在大家应该很清楚了,这两个命名虽然都转换到了root用户,但是他们的效果是不一样的,所以以后咱们在使用的时候,最好直接使用“su -”命令。

虽然使用“su”命令省事,而且在某些操作中也不会出现什么问题,但是如果需要用到环境变量的地方,我们又要重新进行更改,这个开销可比一开始加上“-”来的大的多。

所以,人生不能偷懒,今天你偷懒,明天你可能要花数倍不止的代价来弥补,甚至有些错误根本无法弥补!自勉!
阅读(3428) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~