为什么当我通过 ssh 连接到一台服务器时,它显示 bash 而另一台显示我的用户名?

Ari*_*osh 4 command-line bash rhel

所以在工作中,我有两个可以访问的 Web 服务器ssh

两者都是 RHEL 6.5

当我登录时,它显示:

[username@ldvweb01 /]$ 
Run Code Online (Sandbox Code Playgroud)

当我登录另一个时,它显示:

-bash-4.1$ 
Run Code Online (Sandbox Code Playgroud)

当它显示第一个时,我发现它更优雅。我如何在两者之间切换?谁可以给我解释一下这个?


运行后echo $PS1,结果如下

-bash-4.1$ echo $PS1
\s-\v\$
Run Code Online (Sandbox Code Playgroud)

[appadmin@ldvcatweb01 /]$ echo $PS1
[\u@\h \W]\$
Run Code Online (Sandbox Code Playgroud)

检查两个主目录之间的差异后。我发现主目录中没有.bashrc.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
Run Code Online (Sandbox Code Playgroud)

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
Run Code Online (Sandbox Code Playgroud)

我猜它只是从 /etc

感谢你的帮助。

drs*_*drs 6

bash 提示符由PS1环境变量配置。您可以通过添加获得您想要的提示

export PS1="[\u@\h \W]\$ "
Run Code Online (Sandbox Code Playgroud)

到您的.bashrc文件(位于您用户的主目录中)。

可用于提示的特殊字符的完整列表可以在官方 Bash 文档中找到