我目前正在玩 fish shell我在理解 PATH
变量的设置方式时遇到了一些麻烦。就其值(value)而言,我还使用 oh-my-fish .
如果我回显当前路径,我会得到:
➜ fish echo $PATH
/usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/X11/bin /usr/texbin /Users/myname/.opam/system/bin
查看~/.config/fish/config.fish
我看到以下行
set PATH /usr/local/bin $PATH /Users/myname/.opam/system/bin
我的问题是(这个措辞可能反射(reflect)出我对这个主题缺乏了解):在处理 config.fish 之前,PATH
变量集在哪里?即: /usr/local/bin
和 /Users/myname/.opam/system/bin
之间的所有路径来自哪里?
最佳答案
如 official fish tutorial 中所述,您可以修改 $fish_user_paths
通用变量。
从命令行运行以下命令一次:
set -U fish_user_paths /usr/local/bin $fish_user_paths
这会将 /usr/local/bin
永久添加到您的路径中,并且也会影响当前 session 和所有 future 实例,因为 -U 参数将使变量通用.
来自 fish
文档:
... (Note: you should NOT add this line to
config.fish
. If you do, the variable will get longer each time you run fish!)fish_user_paths, a list of directories that are prepended to PATH. This can be a universal variable.
关于shell - 使用fish shell修改PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26208231/