어쩌면 이것은 WSL 문제일 수도 있는데, 이 경우 어디에 물어봐야 할지 모르겠습니다.
path 에 추가하고 싶은 바이너리 파일이 있습니다 ~/.scry/bin/scry
. 그래서 가서 ~/.bashrc
추가했어요
export PATH="$HOME/.scry/bin/scry:$PATH"
해당 폴더를 추가하고 싶지 않은 이유는 ~/.scry/bin
경로에 원하지 않는 다른 바이너리가 있기 때문입니다.
나는 이것을 한 다음 다음을 실행했습니다.
~$ . .bashrc
scry
하지만 (바이너리) 실행하면 command not found
오류가 발생합니다. 콘솔을 다시 시작하고( Ctrl+ D) 다시 열어 보았습니다 (debian). 하지만 여전히 명령을 인식하지 못합니다.
어떻게 진행해야 할지 잘 모르겠습니다. 도와주세요.
답변1
hash -p "$HOME"/.scry/bin/scry scry
위 내용을 파일에 추가하면 .bashrc
대화형 셸 scry
이 "$HOME"/.scry/bin/scry
.
비슷한 작업을 수행하는 다른 방법으로는 별칭을 만드는 것이 있습니다.
alias scry="$HOME"/.scry/bin/scry
또는 쉘 기능
scry () {
"$HOME"/.scry/bin/scry "$@"
}
이 PATH
변수에는 :
분리된 목록이 포함되어 있습니다.목차아직 사용되지 않은 명령이 주어졌을 때 이 명령을 검색합니다. 따라서 유틸리티의 경로 이름을 PATH
변수에 추가해도 실제로는 아무 작업도 수행되지 않습니다.
답변2
이것은 작동하지 않습니다. 경로는 PATH
실행 파일인지 다른 종류의 파일인지에 관계없이 명령 앞에 추가되는 디렉터리로 처리됩니다.
간단한 해결책은 다른 곳에 디렉터리를 만들고 거기에 바이너리에 대한 심볼릭 링크를 만든 다음 해당 디렉터리를 다음에 추가하는 것입니다 PATH
.
mkdir ~/my-bin
ln -s ~/.scry/bin/scry ~/my-bin
PATH=$PATH:~/my-bin