Jak uzyskać dostęp do folderu, którego nazwa składa się z więcej niż 1 słowa za pomocą powłoki?

0

Próbowałem prostym poleceniem:

cd Name of the Folder

ale to oczywiście nie działa.

Szukałem również w sieci, ale metody Znalazłem, że nie działają.

Jak mogę to osiągnąć?

nbro
źródło
„nie działa” nie wyjaśnia problemu, przed którym stoisz. W przypadku, gdy poniższe odpowiedzi nie pomogą ci w rozwiązaniu problemu, podaj rzeczywiste polecenie, które wykonujesz, i błąd, który napotkasz w pytaniu.
nohillside
Dziękuję, wszystkie proponowane metody działają teraz idealnie. Postanowiłem nie głosować na żadnego z was, ponieważ obie odpowiedzi są pomocne :) +1 dla obu :)
nbro

Odpowiedzi:

2

Odpowiedzi w połączonym artykule są poprawne (ale może trudno je znaleźć wśród wszystkich innych informacji). Kluczowym problemem jest to bash (i dowolna inna powłoka) używaj białych znaków, aby rozdzielić słowa, a więc wszystkie spacje w ciągu nazwy (i wszelkie sytuacje, w których takie znaki mogą się pojawić) muszą być chronione / ucieczki.

cd "folder with whitespace in name"
cd folder\ with\ whitespace\ in\ name

i (jeśli masz nazwę folderu w zmiennej)

FOLDER_NAME="folder with whitespace in name"
cd "$FOLDER_NAME"
nohillside
źródło
Próbowałem z drugą metodą, ale próbowałem źle, zapomniałem wstawić zmienną $ VAR między cudzysłowami
nbro
1

Aby uzyskać dostęp do plików lub katalogów, które zawierają spacje, musisz powiedzieć Bashowi, aby je zignorował (używa spacji do ograniczania poleceń, więc trzeba powiedzieć, że spacja w nazwie pliku jest rzeczywiście częścią nazwy pliku)

aby to zrobić, musisz umieścić odwrotny ukośnik () przed przestrzenią.

to znaczy.

cd Name\ of\ the\ folder

Jednak bash pomoże, jeśli naciśniesz klawisz TAB po rozpoczęciu nazwy pliku i automatycznie uzupełnię spacje

więc wpisz:

cd Nazwa TAB i zostanie automatycznie uzupełniona.

Paul Gilfedder
źródło