所以在工作中我有两个可以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]\$
检查两个主目录之间的差异后。我发现home目录下没有.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
我猜它只是从中提取默认的 bash 设置/etc
感谢你的帮助。
答案1
bash 提示符由环境变量配置PS1
。您可以通过添加来获得您想要的提示
export PS1="[\u@\h \W]\$ "
到您的.bashrc
文件(位于用户的主目录中)。
您可以在提示中使用的特殊字符的完整列表可以在官方 Bash 文档。
答案2
假设两台机器上的登录 shell 都是 bash,则PS1
环境变量不同。该变量决定提示的格式。
您可以使用echo $PS1
查看PS1
第一台计算机上的设置,然后使用export PS1=...
在第二台计算机上将其设置为相同的值。要使此更改永久生效,您应该将该export
命令添加到您的.bashrc
文件(或者可能是您的.profile
文件,该文件由登录 shell 提供 - 这取决于您的配置。)
编辑:根据您的评论,要在第二台计算机上获得与第一台计算机上完全相同的提示,您需要执行以下命令
export PS1="[\u@\h \W]\$"
您可以将其永久化,如前所述。
答案3
您的主文件夹在每个系统上可能不相同。您可以检查每个服务器上的脚本.bashrc
是否已处理。.bash_profile
对于提示,您需要将其包含export PS1="\u@\h \w> "
在 bash 登录脚本 (.bash_profile) 中
您可能希望将主目录放在 NFS 挂载上,以便能够在每个系统上看到类似的环境。