su & su -

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。

所以,切换用户时根据需求,如果保留原始shell环境就su,如果切换shell环境就su -

# sudo su thebeeman

$ pwd

/etc

$ exit

# sudo su - thebeeman

$ pwd

/home/thebeeman

你可能感兴趣的:(su & su -)