当我开始时tmux
,我的~/.config/fish/config.fish
似乎又来源了。这意味着set PATH foo $PATH
我的任何语句config
都会再次执行,这会导致我的 PATH 变量中有重复的条目。这并不激烈,但对 ECHO 路径来说很烦人。当它这么长
我怎样才能防止这个问题?
编辑:我的 tmux 文件中唯一与鱼相关的内容是
#fix vim
set -g default-shell $SHELL
set -g default-command "reattach-to-user-namespace -l ${SHELL}"
set -g default-command 'reattach-to-user-namespace $SHELL --login'
在〜/的.config /鱼/ config.fish配置文件是由每一个新的鱼例如读取。有几种方法可以实现您的要求。一种选择是始终PATH
从头开始设置。也就是说,不要通过附加或添加到现有路径来修改现有路径,而是将其设置为您想要的给定机器。类似的东西
set -gx PATH $HOME/bin /usr/local/bin /usr/bin/ /bin
test -d /opt/X11/bin
and set PATH $PATH /opt/X11/bin
Run Code Online (Sandbox Code Playgroud)
另一种选择是仅当目录不在路径中时才添加目录:
contains /usr/local/bin $PATH
or set PATH /usr/local/bin $PATH
Run Code Online (Sandbox Code Playgroud)
或者仅在不在 tmux 会话中时才进行修改:
if not set -q TMUX
set PATH /argle/bargle $PATH
end
Run Code Online (Sandbox Code Playgroud)