경로에 있음에도 불구하고 Bash에서 바이너리에 액세스할 수 없습니다.

경로에 있음에도 불구하고 Bash에서 바이너리에 액세스할 수 없습니다.

라켓 프로그래밍을 배우고 있습니다. 해당 바이너리는 "/Applications/Racket v6.2/bin/racket".

어떤 일이 일어나는지 보여드리겠습니다.

MacBook:~ enedil$ echo $PATH
/Applications/Racket\ v6.2/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
MacBook:~ enedil$ ls -l /Applications/Racket\ v6.2/bin/racket
-rwxr-xr-x@ 1 enedil  admin  53712 Jun 19 22:23 /Applications/Racket v6.2/bin/racket
MacBook:~ enedil$ file /Applications/Racket\ v6.2/bin/racket
/Applications/Racket v6.2/bin/racket: Mach-O 64-bit executable x86_64
MacBook:~ enedil$ racket
-bash: racket: command not found
MacBook:~ enedil$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Copyright (C) 2007 Free Software Foundation, Inc.

이것이 어떻게 가능한지? 내 경로에 완벽하게 작동하는 Racket 컴파일러가 필요하면 어떻게 해야 합니까?

답변1

변수를 수정하는 PATH중에 실수를 한 것 같습니다. 출력의 백슬래시 문자는 PATH이스케이프된 공백이 아닌 리터럴로 처리됩니다.

다음을 수행해야 합니다.

PATH="/Applications/Racket v6.2/bin:$PATH"; export PATH

또는:

PATH=/Applications/Racket\ v6.2/bin:$PATH; export PATH

관련 정보