偶然之间使用su - cs切换到cs用户下,发现linux命令行的前端竟然显示了:-bash-4.1#
为什么在另外一个用户下没有这样的情况,切换到这个用户的时候就有这样的情况呢?
这个因该是不同用户环境变量设置的问题,既然是PS1的情况,那么在当前用户下设置PS1就oK了。
在cs用户目录.bash_profile文件中添加
PS1='[\u@\h \W]\$ '
export PS1
事实上我使用的是同一个用户,为什么出现这样的现象呢?
原来我使用不同的切换命令:su cs和su - cs
su [user] 和 su - [user]的区别:
su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。
如:
[root@rac1 ~]# pwd --当前目录
/root
[root@rac1 ~]# su oracle --使用su [user]
[oracle@rac1 root]$ pwd --当前目录没有改变,还是之前的用户目录
/root
[oracle@rac1 root]$ su - oracle --使用su - [user]
Password:
[oracle@rac1 ~]$ pwd --当前目录变为当前用户的家目录
/home/oracle
[oracle@rac1 ~]$
所以建议大家在切换用户时,尽量用su - [user],否则可能会出现环境变量不对的问题。
引自:http://www.cnblogs.com/oradragon/archive/2012/08/30/2664551.html