Fish shell:通用变量和别名不在“上下文”之间共享

Lor*_*Goo 1 alias environment-variables fish

我主要使用 Rider IDE 和 iTerm2 中的 Fish shell。

\n

我注意到,每一项意味着为将来的会话保存某些内容的任务都不会在上述两个上下文之间透明地运行。\n更准确地说,如果我定义一个通用导出变量或别名,它们将从“上下文”中保留,其中它们已被定义并且不存在于另一个中。

\n

例如,这是alias从 Rider IDE(终端视图)调用的输出:

\n
\xe2\x9d\xaf alias\nalias br1 'brightness 1'\nalias cat bat\nalias cdg 'cd $(git rev-parse --show-cdup)./'\nalias l ls\nalias ll 'ls -l'\nalias ls lsd\nalias lt 'lsd -l --tree'\n
Run Code Online (Sandbox Code Playgroud)\n

alias这是iTerm2 调用的输出:

\n
\xe2\x9d\xaf alias\nalias br1 'brightness 1'\nalias cat bat\nalias ll 'ls -l'\nalias ls lsd\n
Run Code Online (Sandbox Code Playgroud)\n

环境变量的行为相同。

\n

fah*_*aho 5

Jetbrains IDE 在特定环境中运行 Fish,以便添加自己的集成。他们通过设置 $XDG_CONFIG_HOME 来做到这一点,这是 Fish 找到其通用变量的地方。

这可以通过多种方式被打破。请参阅https://youtrack.jetbrains.com/issue/IDEA-169111

您可能想在“首选项”->“工具”->“终端”中禁用 shell 集成