Terminal前綴突變成了“bash-4.2#”

問題產生環境

問題出現在學習《第4章 Vim編輯器與Shell命令腳本》配置網卡信息的過程中,具體產生原因當時沒有注意。

產生原因及解決辦法

方法一

將PS1='[\u@\h \W]$ '寫入配置文件.bashrc中。然後重新使能該文件。

# PS1='[\u@\h \W]$ ' >> .bashrc
# source .bashrc

原因分析

上述操作奏效的話,說明出現這個問題的原因可能是.bashrc文件被破壞,導致裏面沒有該有的內容。

而我們添加的內容PS1='[\u@\h \W]$ ' 就是添加系統變量PS1來定義Linux系統提示符

一般系統默認的用戶提示符形式是:[username@host 工作目錄]$。

用命令echo $PS1 即可以得到PS1的值:[\u@\h \W]\$。就是我們添加到配置文件中的值。

方法二

通過cp命令將.bash_profile文件和.bashrc文件拷貝到/root目錄下,然後註銷,重新登錄即可。

# cp /etc/skel/.bashrc /root/
# cp /etc/skel/.bash_profile /root/

原因分析

重新找這個方法的原因主要是因爲採用方法一的方法,的確能夠解決我的系統提示符的問題,將系統的提示符還原成了我所熟悉的root@linuxprobe。但是在我每次重新開啓虛擬機之後就又恢復原樣了。

網上查找說,產生這個問題的原因還可能是root用戶在/root下面的幾個配置文件丟失,丟失的文件有:.bash_profile、.bashrc。這兩個文件是每個用戶都必備的文件(不只是root用戶)。

拷貝的.bash_profile文件是定義PS1變量的配置文件。利用上述方法一的操作應該只是更改了PS1的顯示樣式,所以當重啓登錄系統之後,樣式又變成了系統默認的樣式了。所以想要徹底改變系統默認的樣式,就要在PS1的配置文件中操作了。


Tips

  1. ~/.bash_profile:用來設置一些環境變量,對當前用戶有效。當前用戶登錄時,執行(僅一次)。
  2. ~/.bashrc:用來設置bash shell相關的東西,對當前用戶有效。當登錄及每次打開新的shell時,被讀取。
  3. /etc/bashrc:設置系統bash shell相關的東西,對系統內所有用戶有效。當bash shell 被打開時,該文件被讀取。
  4. /etc/profile:用來設置系統環境參數,對系統內所有用戶生效。當用戶第一次登錄時,該文件被執行。
  5. PS(Prompt Sign)命令提示符,PS1 用戶平時的提示符。
  6. 可以通過設置PS1變量使提示符變成彩色。
  7. 默認的PS1="[\u@\h \W]\$",其中\W就是路徑的設置選項,大寫的W是簡介模式,小寫的w爲全路徑模式。
  8. Shell 是一種解釋器,它可以爲用戶接受命令,並運行命令來執行諸如在文件系統中導航、運行程序以及與設備交互等操作。
  9. What Is the Bashrc File Used For?

 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章