Michael's Blog

罗马不设防

博客园 首页 新随笔 联系 订阅 管理

The difference between "-" and "no hyphen" is that the latter keeps your existing environment (variables, etc); the former creates a new environment (with the settings of the actual user, not your own).

带横杠的会创建一个全新的环境,使用的是真实用户的设置。 不带横杠的还保留了之前用户的设置,例如当前目录,环境变量等等。

https://wiki.archlinux.org/index.php/Su

The hyphen has two effects:

1) switches from the current directory to the home directory of the new user (e.g., to /root in the case of the root user) by logging in as that user

2) changes the environmental variables to those of the new user as dictated by their ~/.bashrc. That is, if the first argument to su is a hyphen, the current directory and environment will be changed to what would be expected if the new user had actually logged on to a new session (rather than just taking over an existing session).

 

posted on 2016-10-12 18:25  Michael Zhang  阅读(519)  评论(0编辑  收藏  举报