某天远程putty RHEL5的时候突然发现提示符变成了-bash-3.1#,而不是默认的[root@localhost ~]
大致在网上搜了下,发现都是说和环境变量有关
请教了几个linux老鸟后,被告之检查环境变量加载脚本:.bashrc
后了解到.bashrc文件内容是用户登录时,验证用户家目录下的.bashrc文件是否存在,如果存在就进一步执行/etc/bashrc脚本,初始化环境变量。
新建用户时,会默认从/etc/skel目录拷贝.bashrc脚本至用户家目录,以初始化该用户环境变量,否则很多命令可能不能正常解析。
操作步骤:
1、检查出问题用户的家目录下是否有隐藏文件.bashrc
-bash-3.1# ls -al ~
total 28
drwxr-x--- 2 root root 4096 Jan 13 22:30 .
drwxr-xr-x 24 root root 4096 Jan 13 22:19 ..
-rw------- 1 root root 5163 Jan 13 22:17 .bash_history
-rw------- 1 root root 35 Jan 13 21:02 .lesshst
-bash-3.1#
2、如果没有,则从/etc/skel目录下拷贝.bashrc至用户家目录
-bash-3.1# ls -al /etc/skel
total 48
drwxr-xr-x 2 root root 4096 Nov 29 23:32 .
drwxr-xr-x 88 root root 12288 Jan 13 22:19 ..
-rw-r--r-- 1 root root 24 Jul 12 2006 .bash_logout
-rw-r--r-- 1 root root 176 Jul 12 2006 .bash_profile
-rw-r--r-- 1 root root 124 Jul 12 2006 .bashrc
-bash-3.1#
-bash-3.1# cp /etc/skel/.bashrc /root
3、重新读取.bashrc文件
-bash-3.1# source /root/.bashrc
[root@localhost ~]#
命令提示符又恢复成了[root@localhost ~]
其提示符是在vi /etc/bashrc 里进行设置的,echo $PS1就能看到现在的提示符的格式。