问题背景
在linux下新建普通用户test,配置环境变量,source后生效;
使用root登陆,su test切换用户后,环境变量加载错误,需要重新source;
原因:
su test只是切换了用户,没有切换shell;
解决方法
使用 su - test;
详解:
大部分Linux发行版的默认账户是普通账户,而更改系统文件或者执行某些命令,需要root身份才能进行;
这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su -
---su切换
只是切换root身份,但shell环境仍然是普通用户的shell;
---su -切换
连用户和shell环境一起切换;
只有切换了shell环境才不会出现PATH环境变量错误。
su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;
而用su - 命令切换以后,工作目录变成root工作目录了。
网友评论