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입니다.)

따라서 이 두 가지를 함께 사용하여 기존 ~/.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

(이 작업은 한 번만 수행하면 되며 문서에 따르면 사용자를 대신하여 Fish를 영구적으로 업데이트해야 합니다.)

나는 물고기를 가지고 있지도 않고 사용해 본 적도 없지만, 물고기 설명서에 대한 이러한 참고 자료와 내가 제공하는 조언이 여러분이 필요한 곳으로 갈 수 있기를 바랍니다.

관련 정보