su 和 su -

 

单纯使用su切揣到root,读取变量的方式 是non-login shell,这种方式下很多的变量都 不会改变,尤其是PATH,所以root用的很多命令都只能用绝对路径来执行,这种方式只是切换到root的身份.而用su -这种方式的话,是login shell方式,它是先以root身份登录然后再执行别的操作.

[nb@ok ~]$ su
[root@ok nb]# pwd
/home/nb
[root@ok nb]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/nb/.local/bin:/home/nb/bin
-------------------------------------------------------------------------------------------------------++++++++++++++++++
[nb@ok ~]$ su -
Last login: Wed May 10 00:31:52 EDT 2017 on pts/11
[root@ok ~]# pwd
/root
[root@ok ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

 

posted @ 2017-05-10 12:34  bass  阅读(246)  评论(0编辑  收藏  举报