Wechseln Sie das Verzeichnis mit Leerzeichen gefolgt von '('


7

Es gibt zwei Verzeichnisse, in die ich wechseln kann:

Program Files/       Program Files (x86)/

Ich kann zum ersten wechseln, indem ich schreibe:

cd Program\ Files

Aber der zweite für den zweiten:

cd Program\ Files\ (x86)

Ich bekomme:

bash: syntax error near unexpected token `('

Was ist der richtige Weg, um in das zweite Verzeichnis zu wechseln?

Antworten:


11

Sie müssen den Klammern entkommen:

cd Program\ Files\ \(x86\)

Durch Drücken von TABwird normalerweise die Befehlszeile für Sie vervollständigt und es werden Hinweise zum Zitieren der Datei- / Verzeichnisnamen gegeben.


Ja, Tab wird abgeschlossen, aber ich habe zwei Verzeichnisse mit demselben Namen bis (x86), sodass nur "Programme" ausgeführt werden.
Enedene

@enedene Das stimmt, obwohl Sie danach \ die Fertigstellung eingeben und nutzen können.
Lgarzo

Eine Alternative, die in diesem Fall nützlich sein kann, ist die Verwendung von Shell-Globbing. Zum Beispiel wird cd PTAB ??x86?TAB wahrscheinlich (abhängig davon, was Sie sonst noch im entsprechenden Verzeichnis haben) vervollständigt Program Files (x86).
Ein Lebenslauf

1
Irgendwann werden Backslashes mehr zum Problem als sie wert sind. Wenn Sie mehr als ein oder zwei Sonderzeichen haben, ist es einfacher, den gesamten Dateinamen anzugeben. entweder "Program Files (x86)"oder 'Program Files (x86)'wird funktionieren.
MadScientist

Wenn Sie TAB mehrmals drücken, sollten Sie die verfügbaren Übereinstimmungen durchlaufen. cd ProgTAB TAB.
Lars Rohrbach

3

Eine andere Möglichkeit, dies zu erreichen, besteht darin, den Pfad mit Leerzeichen anzugeben:

cd "Program Files (x86)"

Dies funktioniert auch mit Tab-Vervollständigung, sodass Sie Folgendes eingeben können:

cd "Program<Space><Tab><Space><Tab>

Beachten Sie das erste doppelte Anführungszeichen. Dann erhalten Sie:

cd "Program Files (x86)"/
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.