Jak przejść do katalogu zawierającego spację w nazwie?

47

Mam katalog o nazwie „Reader 0.5” na moim pulpicie na Mac OS X. Kiedy uzyskać dostęp do katalogu w terminalu, używam poniższego kodu:

cd /Users/niho/Desktop/Reader 0.5

ale rzuca:

Brak takiego pliku lub katalogu

błąd.

Jak mogę cd do tego katalogu?

Dzięki.


źródło

Odpowiedzi:

64

Albo umieścisz cudzysłowy wokół nazwy katalogu ( cd "/Users/niho/Desktop/Reader 0.5"), albo uciekniesz od nazwy katalogu ( /Users/niho/Desktop/Reader\ 0.5).

joschi
źródło
5
Ze względu na kompletność możesz również zdecydować się na zacytowanie tylko części argumentu, takich jak cd /Users/niho/Desktop/"Reader 0.5"lub nawetcd /Users/niho/Desktop/Reader" "0.5
użytkownik123444555621,
3
Ostatni (cytaty infix) był dla mnie nowy. Dziękuję Ci!
joschi,
Teraz: jak umieścić ścieżkę ze spacjami infiksowymi w env var, abyś mógł to zrobić % cd $foo?
Bogatyr
8

Możesz uciec z kosmosu:

cd /Users/niho/Desktop/Reader\ 0.5
Felix
źródło
4

Jak wspomnieli inni, cytowanie ścieżki lub odwrotnego ukośnika będzie sprzyjać.

Ponadto bash, domyślna powłoka w systemie Mac OS X, obsługuje uzupełnianie wiersza poleceń za pomocą klawisza Tab. Więc np. Jeśli wpiszesz:

cd /Users/niho/Desktop/Re

następnie naciśnij klawisz Tab, powłoka wypełni resztę nazwy folderu (o ile na pulpicie nie ma innych folderów zaczynających się na „Re”) i zajmie się cytowaniem argumentów na cd, jeśli są spacje w nazwie katalogu, którą wypełnia.

Simon Whitaker
źródło
4

Fyi, użycie klawisza Tab w skrócie bash zepsułby się w pierwszym napotkanym miejscu, jeśli wiele katalogów ma identyczne imiona. W takich przypadkach użytkownik musiałby użyć:

cd Adobe\ Creative\ Cloud/

lub co wolę

cd 'Adobe Creative Cloud'
Ricardo Fernandez
źródło
Zarówno w bash, jak i zsh, cytowanie nie działa dla mnie: `` bash 2 => cd '~ / Library /' bash: cd: ~ / Library /: Brak takiego pliku lub katalogu 3 => cd ~ / Library / 4 => pwd / Users / pguruprasad / Library ``
Prasanth
-1

Oto wygodniejszy sposób, jeśli chcesz częściej używać poleceń cd do niektórych katalogów. Unika za każdym razem wpisywania nazwy katalogu.

W swoim .bashrc lub .profile wstaw:

# activate cdable_vars
shopt -s cdable_vars

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

Uruchom skrypt raz: . .bashrc

Następnie możesz cd do swojego katalogu w następujący sposób:

cd DIR

Powinno to działać, nawet jeśli ścieżka zawiera spacje.

Jednak w skryptach powłoki musisz zacytować zmienną w następujący sposób:

cd "$DIR"
Zwinna Fasola
źródło