写在前面
如果你不清楚su和su -切换用户的区别,你一定会遇到在使用su切换用户执行命令出现报错"command not found"感到惊讶。分明之前这个指令执行的好好的,为什么现在就报错了呢?关键原因就在于你不清楚su和su -命令使用的区别。
su与su -区别
su和su - 命令使用最主要的区别主要是涉及login-shell和non-login shell的变量读取方法,两种不同的变量读取方法导致执行用户切换后HOME/PATH/USER/MAIL等变量不同。
下面我们通过实例再具体展开讲述这两者间的区别。
su切换用户
划重点:
(1)PATH变量没有切换成新用户root,还是dmtsai用户的。 su切换新用户后的PATH变量不包含/sbin、/usr/sbin等目录。
(2)PWD目录没有发生切换。
(3)用户身份发生切换,切换成root。但是USER变量还是切换前用户。