Bash 提示只取点前主机名的第一个单词

yae*_*ael 5 linux bash prompt hostname

我将我的机器配置为以下主机名(在 reshat 7.2 中)

digi.master01.usa.com
Run Code Online (Sandbox Code Playgroud)

但我的提示是这样的

[root@digi ]#
Run Code Online (Sandbox Code Playgroud)

虽然我们想要

[root@digi.master01 ]#
Run Code Online (Sandbox Code Playgroud)

知道如何在 linux 配置中更改它吗?

jim*_*mij 12

在 bash 中,您可以使用两个关于主机名的特殊字符:

  • \h 获取主机名到第一个点
  • \H 获取完整的主机名

如果您想要其他任何东西,您需要制作自己的版本,例如使用HOSTNAME变量:

[root@digi ]# HOSTNAME=digi.master01.usa.com   # this should be set automatically by bash

[root@digi ]# PS1="[\u@${HOSTNAME%.*.*} ]#"
[root@digi.master01 ]#
Run Code Online (Sandbox Code Playgroud)