如何让 fish shell 提示显示主机名?

如何让 fish shell 提示显示主机名?

我试图使我的 Fish 提示符看起来像旧的 Gentoo shell 一样。

user@hostname ~ % 其中 user@hostname 为绿色,$PWD 和符号为蓝色。

现在它只显示:用户@~%,没有主机名。

aaron@ ~ % su -
Password: 
Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
root@ ~ % hostname
rpi
root@ ~ % cat .config/fish/functions/fish_prompt.fish 
function fish_prompt
      if not set -q $__fish_prompt_hostname
        set -g __fish_prompt_hostname (hostname)
     end
     set_color -o red
     echo -n -s "$USER" @ "$__fish_prompt_hostname" " "
     set_color -o blue
     echo -n (prompt_pwd)
     echo -n " % "
     set_color normal
end

另一件奇怪的事情......在我重新启动之前,它显示正确:

在此处输入图片描述

答案1

你要set -q __fish_prompt_hostname 没有$

你会注意到,在精细文档

set ( -q | --query ) [SCOPE_OPTIONS] VARIABLE_NAMES...
# ............................................^^^^

相关内容