在终端提示符中显示漂亮的主机名吗?

在终端提示符中显示漂亮的主机名吗?

我当前的 ubuntu 提示符设置为类似

athos@myT460pLaptopBoughtAt2016 ~$ echo $PS1
[\u@\h \W]\$

,其中h表示Static hostname,正如所见,它相当长。

另一方面,我设置了Pretty hostname

~$ hostnamectl
   Static hostname: myT460pLaptopBoughtAt2016
   Pretty hostname: T460p
...

有没有办法在提示中引用Pretty hostname而不是引用Static hostname

答案1

如果您在您的(或您定义的地方)\h用以下自定义函数替换:.bashrc$PS1

$(hostnamectl | awk '/Pretty hostname/ { printf $3 }')

这应该够了吧。

您可以通过键入以下内容来测试该函数的输出:

echo $(hostnamectl | awk '/Pretty hostname/ { printf $3 }')

在 Ubuntu 22.04 及更高版本中,您还可以使用--pretty直接输出漂亮主机名的选项:

$(hostnamectl hostname --pretty)

相关内容