Як CD в каталог, який містить пробіл у своєму імені?


47

У мене на робочому столі Mac OS X є каталог під назвою "Reader 0.5". Коли для доступу до каталогу в терміналі, я використовую код нижче:

cd /Users/niho/Desktop/Reader 0.5

але це кидає:

Немає такого файлу чи каталогу

помилка.

Як я можу записатись до цього каталогу?

Дякую.

macos  bash  shell 

Відповіді:


64

Або ви ставите лапки навколо імені каталогу ( cd "/Users/niho/Desktop/Reader 0.5"), або уникаєте імені каталогу ( /Users/niho/Desktop/Reader\ 0.5).


5
Просто задля повноти ви також можете вирішити цитувати лише частини аргументу, наприклад, cd /Users/niho/Desktop/"Reader 0.5"або навітьcd /Users/niho/Desktop/Reader" "0.5
user123444555621

3
Останній (виправлення цитат) був для мене новим. Дякую!
joschi

Тепер: як ви розміщуєте шлях із інфіксованими пробілами в env var, щоб ви могли це зробити % cd $foo?
Богатир


4

Як уже згадували інші, котирування шляху або проміжок, що виходить з косої риски, спрацює.

Крім того, bash, оболонка за замовчуванням на Mac OS X, підтримує завершення командного рядка за допомогою клавіші Tab. Так, наприклад, якщо ви вводите:

cd /Users/niho/Desktop/Re

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


4

Fyi, використання ярлика Tab в bash би розбилося на першому просторі, з яким він стикається, якщо кілька каталогів мають однакові імена. У таких випадках користувачеві доведеться використовувати:

cd Adobe\ Creative\ Cloud/

або що я віддаю перевагу,

cd 'Adobe Creative Cloud'

І в bash, і в zsh, цитування для мене не працює: `` `bash 2 => cd '~ / Library /' bash: cd: ~ / Library /: Немає такого файлу чи каталогу 3 => cd ~ / / Library / 4 => pwd / Користувачі / pguruprasad / Бібліотека `` `
Прасант

-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"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.