Як впоратися з пробілом при встановленні $ 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.