Как cd в каталог, содержащий пробел в его имени?

У меня есть каталог под названием «Reader 0.5» на моем рабочем столе на Mac Os X. Когда для доступа к каталогу в терминале я использую код ниже:

cd /Users/niho/Desktop/Reader 0.5

, но он бросает:

Нет такого файла или каталога

ошибка.

Как я могу записать cd в этот каталог?

Спасибо.

42 голоса | спросил Valentina 13 MarpmSun, 13 Mar 2011 14:06:35 +03002011-03-13T14:06:35+03:0002 2011, 14:06:35

5 ответов


57

Либо вы ставите кавычки вокруг имени каталога (cd "/Users/niho/Desktop/Reader 0.5"), либо вы избежите имени каталога (/Users/niho/Desktop/Reader\ 0.5)

ответил joschi 13 MarpmSun, 13 Mar 2011 14:09:12 +03002011-03-13T14:09:12+03:0002 2011, 14:09:12
8

Вы можете избежать пробела:

cd /Users/niho/Desktop/Reader\ 0.5
ответил Felix 13 MarpmSun, 13 Mar 2011 14:08:56 +03002011-03-13T14:08:56+03:0002 2011, 14:08:56
4

Как уже упоминалось, цитирование пути или обратного слэша пробелов будет работать.

Кроме того, bash, оболочка по умолчанию в Mac OS X, поддерживает завершение командной строки с помощью клавиши Tab. Так, например, если вы наберете:

cd /Users/niho/Desktop/Re

затем нажмите клавишу Tab, оболочка заполнит остальную часть имени папки (пока на вашем рабочем столе нет других папок, начиная с «Re»), и позаботится о цитировании аргументов cd, если в имени каталога он заполняется пробелами.

ответил Simon Whitaker 13 MarpmSun, 13 Mar 2011 21:06:14 +03002011-03-13T21:06:14+03:0009 2011, 21:06:14
4

Fyi, используя вкладку Tab в bash, будет разбиваться на первое место, с которым он сталкивается, если несколько каталогов имеют одинаковые имена. В таких случаях пользователь должен будет использовать:

cd Adobe\ Creative\ Cloud/

или то, что я предпочитаю,

cd 'Adobe Creative Cloud'
ответил Ricardo Fernandez 11 J0000006Europe/Moscow 2015, 14:33:44
-1

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

В вашем .bashrc или .profile вставьте:

# activate cdable_vars
shopt -s cdable_vars

# define shortcut for your directory, here DIR
export DIR="/Users/<username>/path/to/your/dir"

Выполняйте свой сценарий один раз: . .bashrc

Затем вы можете cd в свой каталог следующим образом:

cd DIR

Это должно работать, даже если путь содержит пробелы.

В сценариях оболочки, однако, вы должны указать переменную следующим образом:

cd "$DIR"
ответил Agile Bean 19 J0000006Europe/Moscow 2018, 15:03:06

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132