如何在 Linux 命令行提示符中显示主机名

uda*_*day 23 bash prompt hostname

我有几个虚拟机,现在我的命令行提示符看起来像-bash-3.2$;在每个 VM 上都相同,因为它不包含主机名。hostname在执行任何操作之前,我需要始终查看我正在使用哪个 VM 。如何将主机名添加到 shell 提示中?

环境:CentOS/ssh

小智 20

查看您的~/.bashrcor ~/.profile,可能有一个注释提示设置应该可以满足您的要求,就像我们的基础设施中的这个:

export PS1='\h:\w\$ '
Run Code Online (Sandbox Code Playgroud)

看起来像:

coolservername:~# 
Run Code Online (Sandbox Code Playgroud)

或者,如果您计划以非 root 身份登录,则可以使用:

 export PS1='\u@\h:\w\$ '
Run Code Online (Sandbox Code Playgroud)

在主机名前添加用户名。

你可以在提示中添加颜色、多行或任何你想要的信息,快速搜索“bash 提示”应该会给你很多提示。


cha*_*aos 13

只需更改$PS1环境变量的值:

PS1="\h$ "
Run Code Online (Sandbox Code Playgroud)

where\h替换为主机名。将其添加到/etc/bash.bashrc以将其设置为永久。


Joh*_*ith 6

我喜欢 shell 提示符显示用户名、主机名和工作目录的名称。此外,我喜欢所有这些都以颜色显示。所以我通常把

export PS1='\[\033[0;32m\]\u@\h:\[\033[36m\]\W\[\033[0m\] \$ '
 
Run Code Online (Sandbox Code Playgroud)

~/.bashrc。要立即应用更改,请致电

. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

此外,如果您使用 root 切换到su不同颜色的 bash 提示,那么您会格外小心。为此,我添加了这一行

export PS1='\[\033[0;31m\]\u@\h:\[\033[36m\]\W\[\033[0m\] \$ '
Run Code Online (Sandbox Code Playgroud)

进入/root/.bashrc。并打电话

. /root/.bashrc
Run Code Online (Sandbox Code Playgroud)

应用更改。然后它看起来像这样

在此处输入图片说明

VPS 服务器管理员经常提供愚蠢的主机名。为了改变它,打开/etc/sysconfig/network并改变行

HOSTNAME=put_a_name_that_you_want_to_see_in_bash_prompt_here
Run Code Online (Sandbox Code Playgroud)

如果您希望username@host零件的颜色不同,则必须更改0;32m第一个示例中的0;31m零件,或更改第二个示例中的零件。可用颜色列表可以在这里找到

由于.bashrc是针对非登录 shell 执行的,所以不要忘记仔细检查

if [ -f ~/.bashrc ]; then
         . ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)

存在于 中~/.bash_profile,因为~/.bash_profile在您登录时执行。并将相同的部分添加到/root/.bash_profile.