Bash

為什麼當我 ssh 進入一台伺服器時它顯示 bash 而另一台有我的使用者名?

  • February 20, 2015

因此,在工作中,我有兩個可以訪問的 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]\$

檢查兩個主目錄之間的差異後。我發現主目錄中沒有.bashrcor .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]\$"

如前所述,您可以使其永久化。

引用自:https://unix.stackexchange.com/questions/158258