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.

macos  bash  shell 

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).


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

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.


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'

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"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.