在使用Linux的过程中,会进行一些用户切换的行为。
经常使用的命令是
su `用户名称`
和
su - `用户名称`
两者的使用用途有所不同,不注意区分会发生意想不到的问题。
su命令
使用该命令进行用户切换后,环境变量不发生改变,使用的环境变量还是切换前的用户环境变量。
切换后,当前文件目录不变。
su - 命令
使用该命令进行用户切换后,环境变量发生改变,使用的环境变量变为切换后的用户环境变量。
切换后,当前文件目录变为 '/home/用户名',也就是进入了切换后用户的根目录。
至于su命令导致环境变量没有切换可能导致的问题:
如果两个用户的环境变量不同,一些进程启动时读取到的环境变量值就会不同,由此可能会出现一些奇怪的问题,所以切换用户的时候需要特别注意环境变量的问题。