Использование команды cd для навигации по каталогам в Ubuntu, в которых есть специальные символы [дубликат]

Когда я хочу перейти в каталоги, в именах которых есть специальные символы, я получаю сообщение об ошибке.

Для пример:

aman@desktop:~/Aman$ cd !)e$!gn&(reate
bash: !: event not found
aman@desktop:~/Aman$ 

Здесь !) e $! gn & (reate - это имя каталога, в котором я хочу перейти.

Как исправить эту ошибку?

Как использовать cd команда для навигации по каталогам в Ubuntu, имена которых содержат специальные символы?

12
задан 24 April 2014 в 07:14

5 ответов

Та ошибка происходит, потому что эти ! (удар) ярлык, который позволяет Вам, повторно выполняет команду из Вашей истории. Исключая: Эта команда повторно выполняет команду № 1504 из моей истории.

$ !1504

, Чтобы избежать, что проблема, попытайтесь инкапсулировать свое имя каталога с одинарными кавычками.

$ cd '!)e$!gn&(reate'

Однако в то время как Ubuntu (Linux) позволит Вам назвать каталоги таким образом, я настоятельно рекомендовал бы против него. Используя специальные символы в именах каталогов может сделать их трудными читать, и если Вы будете использовать зарезервированный символ, то необходимо будет всегда выходить из него или инкапсулировать имя каталога в кавычках.

0
ответ дан 24 April 2014 в 07:14

Вы используете \ перед специальными символами

cd \!\)e\$\!gn\&\(reate

, можно также поместить весь foldername в одинарные кавычки

cd '!)e$!gn&(reate'

, можно инкапсулировать весь путь в одинарных кавычках

cd 'Desktop/!)e$!gn&(reate'

, если Вы хотите отослать путь внутри/home/username каталог: просто добавьте ~/ перед путем в одинарных кавычках

cd ~/'Desktop/!)e$!gn&(reate'
0
ответ дан 24 April 2014 в 07:14

В интерактивном режиме тип cd ! тогда поразил Вкладку , и удар заполнит остальных, которых правильно оставляют.

0
ответ дан 24 April 2014 в 07:14

Не уверенный, если это относится к специальным символам, но возможно поместило путь в двойных кавычках?

0
ответ дан 24 April 2014 в 07:14

Подтверждение @glenn ответ jackman работает в практике, я ввел cd ! и затем нажал [вкладка]

ianh@abe:~/tmp$ mkdir '!)e$!gn&(reate' ianh@abe:~/tmp$ cd \!\)e\$\!gn\&\(reate/ ianh@abe:~/tmp/!)e$!gn&(reate$

, Даже делающая каталог с'! 1997' и ввод cd !1 и затем нажимающий [вкладка] работали.

ianh@abe:~/tmp/!)e$!gn&(reate$ mkdir '!1997' ianh@abe:~/tmp/!)e$!gn&(reate$ cd \!1997/ ianh@abe:.../!)e$!gn&(reate/!1997$

(у меня нет достаточного количества точек представителя для добавления его как комментария)

0
ответ дан 24 April 2014 в 07:14

Другие вопросы по тегам:

Похожие вопросы: