$PATH
一時開発環境を設定できるように、変数の前にいくつかのディレクトリを一時的に追加したいと思います。他のフィッシュセッションで見たものは変更したくありません。
setup-env.fish
だから私は正しいパスを先頭に追加して優先順位を持つスクリプトが欲しいです$PATH
。
私の簡単なテストは
set -gx tool_dir "/home/jesse/sandbox/tools"
set PATH "$tool_dir/language/bin" $PATH
echo "Evnironment Set up"
私はこれらのディレクトリが存在することを確認しました。シェルを開いてスクリプトを実行すると、ディレクトリecho $PATH
は表示されません。
絶えずディレクトリを追加し、set -U fish_user_paths path $fish_user_paths
それをグローバル$PATH
変数に追加する方法があることを知っています。しかし、私はこれをしたくありません。他のツールを使用したい場合は、システム変数をあまり調整したくありません。必要に応じて、まず$PATH
シェルを追加して閉じたいと思います。私はいくつかのFishドキュメントと変更に関するいくつかのgithubの問題を読み、$PATH
いくつかの変数がFishによって異なる方法で処理されるという事実を収集しました。したがって、ここで他のものが欠けているかどうかはわかりません。
シェルでこのコマンドを実行するとうまくいきますが、スクリプトでより多くのことをしたくないので、すべての内容を入力したくありません。
XUbuntu 16.04でFish 2.7.1を使用しています。
ベストアンサー1
私考える範囲は現在のシェル内でのみ変更できますfish_user_paths
。このフィッシュセッションを終了しても、この変数の一般的な値は影響を受けないと思います。
set -g fish_user_paths "$tool_dir/language/bin" $fish_user_paths