1

在命令行切换用户时,有人可以解释 su -p (--preserve-environment) 和 su - 之间的区别吗?

我对“su -”很熟悉,但我不清楚 su -p 有什么不同,如果有的话。

4

3 回答 3

0

不同之处在于,su -p您可以保留对原始用户所做的所有个性化设置。例如,您保留您的别名、您的 bashrc、配置文件...

于 2013-02-06T10:06:46.943 回答
0

正如您在su手册页中看到的那样,它说“不要重置环境变量”。

Unix shell 允许您将值存储在变量中。它甚至自己使用它(即 PATH 变量保存可执行文件的位置)。如果您使用 -p ,则保留您的环境变量,而不是从新用户那里获取环境变量。(但是,它们可能仍会被用户拥有的任何 shell 启动脚本覆盖......)

于 2013-02-06T10:04:37.840 回答
0

简单来说:

- using "su" you get SuperUser's rights **and** environment 
- using "su -p" you get only SuperUser's rights (the environment stays your own)
于 2013-02-06T10:09:36.570 回答