bash: logout: 不是登录shell: 使用 `exit‘ --su root和su - root的区别

初学LINUX,使用logout登录注销,

使用

su root

切换到root用户下发现

bash: logout: 不是登录shell: 使用 `exit'

但是使用

su - root

就正常

 

查资料:发现是su root 与 su - root有着本质的区别

su - root  is   the same as su -

just like login as root, then the shell is login shell,
which mean it will expericene a login process,
usually .bash_profile and .bashrc will be sourced

su  root    is    the same as su
like you open an interactive shell in root name,
then only .bashrc will be sourced.

su  后面不加用户是默认切到 root,不改变当前变量(并没有切换登录用户
su - 是改变为切换到用户的变量 
su只能获得root的执行权限,不能获得环境变量
su -是切换到root并获得root的环境变量及执行权限


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部