有人可以解释一下为什么我发出:
苏
回显$ 0
它说:
狂欢
什么时候
su –
echo $0
它说:
-苏
?我是否正确,在第一种情况下(仅su
)当前 shell 会生成一个新的非交互式 shell,而在第二种情况下(su -
)它只会保留在当前 shell 中?
答案1
当你使用 时,su
你继承了正在运行 的用户的环境su
。相反,当你使用su -
(它是-login
选项的快捷方式su
)时,它会“完全”切换到 root 帐户并以与直接登录 root 时相同的方式设置环境
答案2
Alex 的回答是正确的,但他并没有真正解释你所看到的内容。当你运行时,su -
它会导入你正在切换到的用户(在本例中为 root)的环境。你以 root 身份运行的最后一个命令一定是su
。