🦔
fishの"set -U"は環境変数に入らないよという話
結論
set -U
は永続化されるだけ。
set -Ux
を使おう。
set -U
でfish用の変数を永続化して、-x
がつくことで、環境変数にexportされるみたい
# 例: 標準のエディタ設定
set -Ux EDITOR=nano
$PATHの場合
set -U
でfish_user_paths
を変更するのがベストプラクティスっぽい
# 例:~/binを$PATHに追加する場合
set -U fish_user_paths ~/bin $fish_user_paths
環境変数の調べ方
-
printenv
コマンドの実行結果内にあるかチェック -
~/.config/fish/fish_variables
を見て、SETUVAR --export
になっているか見る
気づいたきっかけ
$EDITOR
変数を設定したはずが、動いたり動かなかったりして、調査したのがきっかけ
とりあえずRanger
コマンドが動かなかった
それで、上記の環境変数の調べ方を見たら、$EDITOR
変数がおかしかった。
ちゃんと設定したら、Ranger
コマンドでも正常に機能するようになった
Discussion
追記
PATHについて
今はfish_add_path関数を使ったほうが楽ですよ