linux用户登录后显示 “-bash-4.2#” 解决方法
有时候我们登录linux系统或者远程系统后,发现我们熟悉的[root@localhost ~]#变成了-bash-4.2#情况如下:
这种情况一般都是环境变量的文件丢失或者内容有误导致的。在这里我们分两种情况:
当前用户家目录下环境变量文件丢失解决办法
如果只是当前登录用户显示**-bash-4.2#**,但su到别的用户上却是正常的,这种情况就只是当前登录用户的家目录下环境变量文件丢失了
这里我们只需要将/root文件夹下的.bash_profile与 .bashrc两个文件从/etc/skel(这个目录是用来存放新用户配置文件的目录,目录下的文件全都是隐藏文件)目录下恢复即可,具体操作步骤如下:
#查看当前家目录下的所有文件,有无缺失.bash_profile和.bashrc
-bash-4.2# ls -a
. .config .mozilla study.tar.gz wangzhan.sh 图片
.. .cshrc .mysql_history .sunlogin .xauth5SuAAT 文档
auto_ssh.sh .dbus mysql_install.sh Sunlogin Files .Xauthority 下载
.bash_history .esd_auth ntpserver.bak .tcshrc xunjian.sh 音乐
.bash_logout game.tar.gz .pki .viminfo 公共 桌面
.cache .ICEauthority sensors .viminfo.tmp 模板
.common.sh.swp .local .ssh .viminfz.tmp 视频
#查看/etc/skel目录下的所有文件
-bash-4.2# ls -a /etc/skel
. .. .bash_logout .bash_profile .bashrc .mozilla
#恢复/root目录下的.bash_profile和.bashrc两个文件
-bash-4.2# cp /etc/skel/{.bash_profile,.bashrc} .
-bash-4.2# source .bash_profile
[root@localhost ~]#
全局环境变量文件丢失解决办法
如果当前用户登录后,用ls -a查看发现是有.bash_profile与 .bashrc两个文件的,那就很有可能是全局环境变量的文件丢失或者内容有误导致的。这个就稍微麻烦些,需要从其他同版本的系统中拷贝/etc/profile和/etc/bashrc
具体步骤如下,下面的ip要换成你同网段正常服务器的ip即可:
#查看/etc目录下是否有profile和bashrc两个文件
-bash-4.2# ls /etc | egrep "bashrc|profile"
profile.d
#同步其他同版本服务器上的文件到本地/etc目录下
-bash-4.2# rsync -az root@192.168.137.4:/etc/{profile,bashrc} /etc/
#再次查看/etc目录下是否有profile和bashrc两个文件
-bash-4.2# ls /etc | egrep "bashrc|profile"
bashrc
profile
profile.d
#载入环境变量文件
-bash-4.2# source /etc/profile
-bash-4.2# source /etc/bashrc
[root@localhost ~]#
**附加:有时候开发编译了一个软件后导致使用系统命令报错,这也可能和环境变量有关哦!**如下:
Q.E.D.