Fish 中的路径设置 shell

Path setup in Fish shell

Laravel需要设置路径。由

完成
export PATH="$PATH:$HOME/.composer/vendor/bin"

in bash 但我需要在 fish shell 中坚持不懈地完成。 我试图通过 set -u 在 ~/.config/fish/config.fish 中设置它但不起作用。

在 fish 中,$PATH、$MANPATH 和 $CDPATH 会自动转换为列表。

这意味着您的命令的 fish-native 等价物(实际上将像在 2.6.0 中一样工作,因为 fish 提供了 export 兼容性功能)是

set -gx PATH $PATH $HOME/.composer/vendor/bin

现在,您不想设置通用的 $PATH。您也几乎不能,因为它在 99% 的情况下作为全局变量从父进程继承,并且全局变量覆盖通用变量(意味着通用变量毫无意义)。

但是,fish 有一个 $fish_user_paths 通用变量,它将添加到 $PATH 之前,因此您也可以使用

set -U fish_user_paths $HOME/.composer/vendor/bin

如果您需要 append,则需要将上面的 $PATH 片段添加到您的 config.fish.