【问题标题】:change fish shell prompt based on hostname根据主机名更改鱼壳提示
【发布时间】:2025-11-27 17:35:01
【问题描述】:

当我在另一台机器上通过ssh 更改我的fish shell 提示时,我该如何做。

我让它在我的提示配置顶部运行set -q __fish_prompt_hostname,当我想调用它时运行"$__fish_prompt_hostname",但是当我ssh 到另一台机器时它找不到主机名并显示它。

我知道在 bash 中 $HOSTNAME 是要走的路,但是对于 fish 我不知道如何获取主机名。 (由于某些机器比其他机器更不稳定,我还想根据主机名更改提示的颜色。)

有什么建议吗?

【问题讨论】:

    标签: bash fish


    【解决方案1】:

    您可以通过将set -x HOSTNAME (hostname) 放入您的~/.config/fish/config.fish 来模拟 bash。您可能更喜欢使用set -x HOSTNAME (hostname | string split -m1 '.')[1] 去除域名。这就是prompt_hostname 函数设置__fish_prompt_hostname var 所做的事情。

    【讨论】:

    • 感谢这成功了! bash 仿真很棒。因为我仍然怀念一些关于 bash 的好东西,所以我还得到了 bass 来做更多关于 bash 的事情。