내 폴더에는 작은 스크립트와 사용자 정의 실행 가능 바이너리용 폴더가 $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