nom*_*ike 6 linux solaris su bash sudo
可能的重复:
sudo -i 和 sudo su - 有什么区别
我知道这两个命令都会导致获得 root-shell。但也有一些区别。在某些服务器上,例如提示不同:
nomike@testerver:~> sudo -i
root@testerver:~> logout
nomike@testerver:~> sudo su -
[root@testerver ~]#
Run Code Online (Sandbox Code Playgroud)
所以我猜“.bashrc”、“.bash_profile”和“.profile”的处理方式有些不同。
一个会调用登录 shell 而另一个不调用吗?
双方sudo -i并sudo su -会得到你一个交互式登录shell。您看到的不同之处在于 sudo 配置为处理环境变量的方式,在本例中为 PS1。您的 PS1 与 root 的 PS1 不同。如果您查看 /etc/sudoers,您可能会发现env_keep一行包含 PS1。
Defaults env_keep += "MAIL PS1 PS2 QTDIR ..."
Run Code Online (Sandbox Code Playgroud)
这指示 sudoPS1在您正在运行的命令的环境中保留(除其他外)环境变量,因此这就是您所看到的(不同的提示)。
当您运行sudo su -修改后的环境时,将传递给su它然后运行登录 shell,su 不会强制环境相同,因此它会使用 root 的初始化文件中的任何内容进行设置。
| 归档时间: |
|
| 查看次数: |
5280 次 |
| 最近记录: |