如何使用可变预设启动shell(fish)

时间:2017-05-24 23:16:04

标签: linux shell unix terminal fish

我想使用Cool Retro Terminal的鱼,但我通常使用的提示符有unicode字符,复古终端中的字体不支持。我有fish_prompt函数检查$simple_prompt是否为1并且我知道它有效,但是我需要一种方法来设置变量,仅针对该终端实例,使用retro命令选项终奌站。

我到目前为止最接近的是fish -c "set -gx simple_prompt 1; fish",但是它将变量导出到系统上的所有shell实例,并且对所有这些实例也提供简单的提示。 fish -c "set -g simple_prompt 1; fish"不起作用。

1 个答案:

答案 0 :(得分:0)

预计set -g simple_prompt 1对您启动的下一个鱼类实例不可见。全局变量仅对当前shell实例可见。如果您使用的终端设置了一些环境变量,可以让您确定鱼在该特定终端内运行,我会使用该信息。例如,macOS上的iTerm2导出ITERM_PROFILE以及其他四个唯一的env变量。如果酷复古终端没有做到这一点,也许有其他方式检测到该终端类型。它可能就像检查TERM变量一样简单。

如果上述解决方案不是一个选项,那么唯一的解决方案就是第一个解决方案中的环境变量。因为你说它将该变量导出到所有鱼类实例,我怀疑你没有准确地描述你在做什么。因为如果将该命令设置为Cool Retro Terminal用于启动shell的命令,则只会影响在该终端中运行的fish实例。这就是你想要的。