Bash
為什麼當我 ssh 進入一台伺服器時它顯示 bash 而另一台有我的使用者名?
因此,在工作中,我有兩個可以訪問的 Web 伺服器
ssh
。兩者都是 RHEL 6.5
當我登錄到一個時,它顯示:
[username@ldvweb01 /]$
當我登錄另一個時,它顯示:
-bash-4.1$
當它顯示第一個時,我發現它更加優雅。如何在兩者之間切換?誰可以給我解釋一下這個?
執行後
echo $PS1
這些是結果-bash-4.1$ echo $PS1 \s-\v\$
和
[appadmin@ldvcatweb01 /]$ echo $PS1 [\u@\h \W]\$
檢查兩個主目錄之間的差異後。我發現主目錄中沒有
.bashrc
or.bash_profile
。所以我從以前的伺服器複製了那些。
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH
和
# .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions
我猜它只是從
/etc
感謝你的幫助。
bash 提示符由
PS1
環境變數配置。您可以通過添加獲得所需的提示export PS1="[\u@\h \W]\$ "
到您的
.bashrc
文件(位於使用者的主目錄中)。您可以在Bash 官方文件中找到可用於提示的特殊字元的完整列表。
假設您在兩台機器上的登錄 shell 都是 bash,則
PS1
環境變數不同。這個變數決定了提示的格式。您可以使用
echo $PS1
查看PS1
在第一台機器上設置的內容,然後使用export PS1=...
在第二台機器上將其設置為相同的值。要使此更改永久生效,您應該將export
命令添加到您的.bashrc
文件(或者可能是您的.profile
文件,該文件由登錄 shell 提供 - 這取決於您的配置。)**編輯:**根據您的評論,要在第二台機器上獲得與第一台機器上完全相同的提示,您需要做的是命令
export PS1="[\u@\h \W]\$"
如前所述,您可以使其永久化。