shell - 使用fish shell修改PATH

标签 shell environment-variables fish

我目前正在玩 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/

相关文章:

regex - 错误/usr/local/bin/perl : Argument list too long

python - 如何在 python 脚本中使用 Jenkins 环境变量

docker - 将参数传递给build.gradle

php - 无法在 PHP 中检索 Apache 环境变量

shell - 将多个项目附加到 fish shell 中的路径(相当于 : +=)

bash - 无法通过 shellscript 激活 virtualenv

shell - 跨 session 永久清除 fish shell 历史记录

linux - 使用 bash 将一个 txt 文件复制两次到另一个文件

arrays - shell中如何从数组中随机选择一个项目

linux - 按第二字段和第三字段的乘积排序(Linux)