Fishの環境変数

Fishの環境変数

Kpaxというプログラムを使用する必要がありますが、「インストール」プロセスは次のとおりです。

(for bash users, edit ~/.bashrc)
   export KPAX_ROOT=/home/dritchie/kpax       <-  substitute the proper pathname here.

   export PATH=${PATH}:${KPAX_ROOT}/bin

私はGarudaとFishシェルを使っていますが、bashを使ってKpaxを実行しても問題ありません。問題は、PHPファイルでKpaxを実行する必要があり、使用するたびにshell_exec()error_logに表示されます。

kpax: command not found

Bashのような魚の環境変数を使ってそれを複製する方法はありますか?

答え1

Fish Shell 3.2以降では、以下を実行できます。

fish_add_path /home/dritchie/kpax/bin

ホームディレクトリに入れます。

コマンドラインで一度実行するか、 に追加すると~/.config/fish/config.fish記憶されます。これはドキュメントです魚の追加ルート

ただし、KPAX_ROOT 環境変数が必要な場合があるため、その変数を -U に設定する必要があります。

答え2

~によるとhttps://fishshell.com/docs/current/cmds/set.html?highlight=environment

変数を設定して明示的にエクスポートするには、setコマンドを使用する必要があります。

~によるとhttps://fishshell.com/docs/current/tutorial.html?highlight=configuration(「開始(.bashrcの場所)」に関するドキュメントをよく検索してください。編集する必要があるファイルは〜/.config/fish/config.fishです。)

したがって、これらの2つを一緒に使用して、既存の~/.config/fish/config.fishの末尾に次のものを追加します(またはまだ存在しない場合は、次の内容のみを含むファイルを作成します)。

set -gx KPAX_ROOT <your path to KPAX installation>
set -gx PATH $PATH "$KPAX_ROOT"/bin

あるいは、必要な変数を「一般」として生成する方が簡単な場合もあります。

set -U KPAX_ROOT <path to KPAX installation>
set -U PATH $PATH "$KPAX_ROOT"/bin

(これは一度だけ行う必要があります。文書によると、ユーザーの代わりにフィッシュを永久に更新する必要があります。)

私は魚を持っていないし、使ったこともありませんが、魚のマニュアルに関するこれらの参考資料と私が提供するアドバイスがあなたが必要な場所に行くことを願っています。

関連情報