パスにあるにもかかわらず、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

関連情報