su root 和 su - root 区别
后知后觉 暂无评论

su 命令默认参数即为 root ,因此 su rootsu - root 区别即为 susu - 的区别。

探索

解释

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.

测试

cd /home/kane
su root
pwd
/home/kane
exit

su - root  
pwd
/root  

总结

区别实质

实质区别就在于是否执行 .bash_profile,即 su 只能获得 root 的执行权限,不能获得环境变量;su - 是切换到 root 并获得 root 的环境变量及执行权限。


附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。