04月20, 2015

linux su与su -的区别

注意:这是一篇从旧博客恢复的文章。

原地址:http://freemeepo.com/blog/archives/214


我们知道,su是switch user的意思,用法是su username,如果省略user那么将会默认成root。

但是我在运行一段命令的时候,出了点问题。这个命令需要在root下运行。其实我之前一直是使用su - root的(或者su -),这是鸟哥书上说的,不过有次少打了个-,发现也能成功换成root,于是后来就不加-了。但是我这次运行却不成功,一直说找不到命令,这才发现出了问题。

查了资料才知道,su只是普通的切换用户,并不能获取该用户的环境变量。而我那个命令是在/sbin下的,/sbin只存在于root的环境变量中。现在我su并没有获得root的环境变量,当然就找不到那个命令了!

但是su -是可以获得那个用户的环境变量的。

所以我们需要用su - root或者su -来切换到root才不容易出现问题。

本文链接:https://debug.fanzheng.org/post/difference-between-su-and-su-dash.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。