Як впоратися з пробілом при встановленні $ PATH


16

Я хочу додати піднесений мозок до свого шляху, але в ньому є пробіл.

Я спробував очевидне, як ви переходите в термінал (наприклад /Applications/Sublime\ Text\ 2.app/Contents)

export PATH="/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH"

Але я все-таки отримую помилку

/Applications/Sublime: No such file or directory

Я міг би перейменувати це, але мені цікаво, як це вирішити. Я використовую bash.


спробувати export PATH='/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH? Також, чи призначений цей новий рядок?
демуре

Ні, це не новий рядок, просто виходить таким чином, коли я вставив його. Ваша пропозиція не допомогла, і вона вбила мій шлях, тому не могла використовувати vi, довелося перейти на іншу оболонку, щоб змінити назад.
Шон Вейдер

1
пропозиція demure повинна це зробити, але використовуйте подвійні лапки: export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"інакше $ PATH не буде розширено.
jaume

У мене це було як подвійні цитати, але в .bashrc це все ще не сподобалось.
Шон Вейдер

Чи можете ви бути точнішими? Що ви маєте на увазі під "це не сподобалось"? Ви отримуєте помилку (яка)? Або просто не вийшло?
jaume

Відповіді:


15

Використовуйте зворотний нахил або лапки, не обидва. Ви ставите зворотний проміжок послідовності у PATHзначення.

export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"

або

export PATH=/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH

Обов’язково не загортайте рядок: це повинні бути пробіли, а не нові рядки.

Зауважте, що якщо ви бачите помилку, як /Applications/Sublime: No such file or directoryу export PATH=…рядку, у вас є помилка синтаксису в цьому рядку, наприклад, пробіл після знака рівності: призначення не намагається шукати каталог. Якщо помилка виявляється в якийсь пізній час, вона не пов’язана зі значенням PATH, або якщо так, лише дуже опосередковано: це цілком нормально, щоб записи $PATHне існували, а неіснуючий каталог не призведе до повідомлення про помилку .


4

Якщо шлях задано правильно .bash_profile, будь то з подвійними лапками чи з косою косою рисою, і в ньому є пробіли, вам потрібно викликати змінні подвійними лапками .

Наприклад, якщо .bash_profileвстановлено як нижче:

export SUBLIMEPATH="/Applications/Sublime Text 2.app/Contents"
export PATH=$PATH:$SUBLIMEPATH/SharedSupport/bin/subl

Ви не можете зробити , cd $SUBLIMEPATHщоб змінити поточний каталог, ви отримаєте повідомлення про No such file or directoryпомилку. Але з подвійними цитатами, як cd "$SUBLIMEPATH"ви можете.

Сподіваюся, це допоможе в чомусь.


3

Щоб вирішити це, я створив посилання в

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/sublime/bin/subl

Потім я додав його на свій шлях, використовуючи vi on ~. / Bashrc

export PATH="/usr/local/sublime/bin/:$PATH"

Не забудьте подати джерело .bashrc, щоб отримати зміни

source ~/.bashrc

1

Це не відповідає на запитання. Однак він звертається до зауваження, зробленого в одній з відповідей, і обговорює аналогічну процедуру.

Також можна створити псевдонім для Sublime Text шляхом редагування .bash_profileабо .bashrc(залежно від файлу конфігурації BASH у вашому домашньому каталозі).

alias sublime="/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text"

Для цього необхідно скористатися КОЛИЧНИми косою рискою та котируваннями . Зауважте, зокрема, що це зовсім інша ситуація від експорту PATH, як згадувалося вище, оскільки там має сенс робити лише те чи інше, але не те і інше.

Зауважте також, що спочатку не потрібно створювати симпосилання, як стверджує офіційна документація Sublime та багато інших джерел. Ця відповідь у StackOverflow правильно відповідає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.