初学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的环境变量及执行权限