問題現象: 登陸linux服務器發現終端提示符變成了 -bash-4.2# ,通常應該是root@主機名 + 路徑的格式纔對
-bash-4.2#
問題分析: 對比正常和異常的shell發現原來登錄用戶的家目錄下少了這麼多默認文件,其中比較重要的是 .bash_profile和.bashrc 文件
異常情況:
-bash-4.2# pwd
/root
-bash-4.2# ls -a
.
..
.bash_history .viminfo
-bash-4.2#
正常情況:
root@centos7 ~
# pwd
/root
root@centos7 ~
# ls -a
.
..
.bash_history .bash_logout .bash_profile .bashrc .cshrc .mysql_history .pki ..pwd .ssh .tcshrc .viminfo
我們再看看 .bash_profile和.bashrc 文件的作用: ~/.bash_profile: 每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次,默認情況下,設置一些環境變量,執行用戶的.bashrc文件 ~/.bashrc: 該文件用戶配置函數或別名,專用於當前登錄用戶,當登錄shell時以及每次打開新的shell時,該該文件被讀取
解決方案:
拷貝 /etc/skel 目錄下的文件至shell異常的用戶家目錄下,重新打開終端,終端提示符已經恢復爲正常格式
-bash-4.2# cp /etc/skel/.bash* ~/
-bash-4.2# bash
root@centos7 ~
#
注意:應使用對應shell異常的用戶進行復制操作