Рейтинг:0

Как избежать пробелов в переменной, переданной в cd

флаг be

Я использую WSL в Windows 10 с Ubuntu.
Путь к каталогу, который я часто использую, включает каталог с пробелом в имени. Я не могу изменить это имя. Путь к каталогу очень длинный:
/mnt/c/Users/name/Dropbox/Мой компьютер (ноутбук...)/Desktop/Studies/Python
Итак, я хотел бы создать переменную в .bashrc по имени $PROJECTPATH это будет равно пути к каталогу.
Таким образом, я мог бы позвонить или псевдоним компакт-диск $PROJECTPATH и добраться до моих файлов.
Я пробовал писать:

PROJECTPATH='/mnt/c/Users/name/Dropbox/My\ PC\ \(ноутбук...\)/Desktop/Studies/Python'

псевдоним prjct='cd $PROJECTPATH'

но при запуске prjct я получаю сообщение об ошибке «слишком много аргументов», что означает, что на cd передается пробел.
Как я могу избежать пробелов при передаче переменной cd или любой другой команде?
И нужно ли экспортировать такую ​​переменную?

флаг cn
Этот эффект называется [разбиение слов](https://www.gnu.org/software/bash/manual/bash.html#Word-Splitting). См. [эту запись в вики bash-hackers.org] (https://wiki.bash-hackers.org/syntax/words#word_splitting)
ARunningFridge avatar
флаг be
@glennjackman Сработало отлично :). Большое спасибо!
bac0n avatar
флаг cn
`alias a='builtin cd "$b";:'` вы можете завершить свой псевдоним с помощью `:` или `true`, это подавит любые дополнительные аргументы.
Рейтинг:2
флаг my

Вам нужно поставить двойные кавычки вокруг $PROJECTPATH в вашей псевдоним определение.

Кроме того, я рекомендую не использовать обратную косую черту в определении вашей переменной. Он менее читаем и в данном случае не нужен:

PROJECTPATH='/mnt/c/Users/name/Dropbox/Мой компьютер (ноутбук...)/Desktop/Studies/Python'

псевдоним prjct='cd "$PROJECTPATH"'

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.