44

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

cd /Users/niho/Desktop/Reader 0.5

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

Данный файл или каталог отсутствует

ошибка.

Как я могу перейти в этот каталог?

Благодарю.

5 ответов5

60

Либо вы помещаете кавычки вокруг имени каталога (cd "/Users/niho/Desktop/Reader 0.5"), либо экранируете имя каталога (/Users/niho/Desktop/Reader\ 0.5).

8

Вы можете покинуть пространство:

cd /Users/niho/Desktop/Reader\ 0.5
4

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

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

cd /Users/niho/Desktop/Re

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

4

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

cd Adobe\ Creative\ Cloud/

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

cd 'Adobe Creative Cloud'
-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 DIR

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

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

cd "$DIR"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .