Я попытался добавить путь к моему .bash_profile, в котором есть пробел (/Applications/Racket\ v6.12/bin), и после этого он появляется в моей переменной PATH, как и ожидалось, но не дает мне доступа к пути. Я сделал обычное «закрыть все окна терминала», «выйти из системы и снова войти» и т. д., и несмотря ни на что, добавленный путь не работает (я не могу запустить какие-либо двоичные файлы из этого пути в моем терминале без указав полный путь перед ним).
Я даже пытался добавить его в /etc/paths вместо моего .bash_profile, чтобы сделать его общесистемным (конечно, предварительно удалив его из моего .bash_profile). В этом даже не должно быть необходимости, потому что путь появляется в моей переменной PATH при использовании .bash_profile, но я подумал, что все равно попробую.
Я даже сделал это, чтобы попытаться избежать двойных кавычек:
export PATH="\"/Applications/Racket\ v6.12/bin\":$PATH"
и различные комбинации вышеперечисленного (без экранированного пробела и т.д.)
Единственное решение, которое я нашел, это создать символическую ссылку без пробелов. Например, я сделал это:
sudo ln -s /Applications/Racket\ v6.12/ /usr/local/racket
а затем я добавил /usr/local/racket/bin к своему пути (работает с использованием либо .bash_profile, либо /etc/paths).
export PATH="/usr/local/racket/bin:$PATH"
Это сработало, но я не могу поверить, что пользователям приходится прибегать к созданию символических ссылок, чтобы их пути с пробелами работали. Я что-то упустил здесь? Есть ли более идиоматический способ добавить путь с пробелами? Я использую OSX El Capitan 10.11.6.