🦔
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関数を使ったほうが楽ですよ