fish shell の使い方について調べると、$fish_user_paths
を使うのが "fisher way" である(fish ユーザー的に良い書き方である)ことがしばしば紹介されています。
set -U fish_user_paths /usr/local/bin $fish_user_paths
$fish_user_paths
を使うメリットとしては、ここで一度内容を設定すれば、自動的に今開いているセッション及び将来開くセッション全ての $PATH
に永久的に設定が保存されるという点です。
逆に言えば、$fish_user_paths
を ~/.config/fish/config.fish
で設定してはいけません。 config.fish
は fish 起動時に毎回呼び出されるので、もし $fish_user_paths
を config.fish
で修正してしまうと、毎回 fish 起動時に $PATH
に新しい内容が追加されてしまい、$PATH
がどんどん長くなっていってしまいます。
config.fish
で書くべきなのは、以下のようなコマンドです。
set -x PATH /usr/local/bin $PATH
参考: https://fishshell.com/docs/current/tutorial.html#path
The advantage is that you don't have to go mucking around in files: just run this once at the command line, and it will affect the current session and all future instances too. (Note: you should NOT add this line to config.fish. If you do, the variable will get longer each time you run fish!)