$PATH 폴더에 있는 바이너리는 즉시 액세스할 수 없습니다.

$PATH 폴더에 있는 바이너리는 즉시 액세스할 수 없습니다.

내 폴더에는 작은 스크립트와 사용자 정의 실행 가능 바이너리용 폴더가 $PATH있습니다 ~/.zsh/bin. 예를 들어 최근에 컴파일된 도구를 추가하고 wercker_build_status해당 폴더를 호출했습니다. 그런데 명령줄에 입력해도 wercker_build_status찾을 수 없고 파일의 전체 경로인 ~/.zsh/bin/wercker_build_status.

그렇다고 폴더에 아무 것도 작동하지 않는다는 말은 아닙니다. 제가 호출한 스크립트가 wifi_status거기에 있고 명령줄에 입력하면 예상대로 Wi-Fi 상태가 반환됩니다.

내 폴더에 있는데 왜 $PATH폴더에 추가된 파일을 사용할 수 없나요 ~/.zsh/bin?

답변1

$HOME특히 새 콘텐츠를 큰따옴표로 ~묶을 때 paths 에 물결표( )를 사용하세요 . PATH물결표 기호는 따옴표 안에 표시되면 확장되지 않습니다.

시험:

$ mkdir "$HOME/t"

$ cat >"$HOME/t/foo" <<END
#!/bin/sh
echo "hello"
END

$ chmod +x "$HOME/t/foo"

$ PATH="$PATH:~/t"

$ foo
zsh: command not found: foo

$ PATH="$PATH:$HOME/t"

$ foo
hello

또한보십시오:큰따옴표 안에서 물결표(~)가 확장되지 않는 이유는 무엇입니까?

관련 정보