Wie gehe ich zu einem Verzeichnis, dessen Name ein Leerzeichen enthält?

47

Ich habe ein Verzeichnis mit dem Namen "Reader 0.5" auf meinem Desktop unter Mac Os X. Wenn ich auf das Verzeichnis im Terminal zugreifen möchte, verwende ich den folgenden Code:

cd /Users/niho/Desktop/Reader 0.5

aber es wirft:

Datei oder Verzeichnis existiert nicht

Error.

Wie kann ich in dieses Verzeichnis CD?

Vielen Dank.


quelle

Antworten:

64

Entweder setzen Sie den Verzeichnisnamen in Anführungszeichen ( cd "/Users/niho/Desktop/Reader 0.5") oder Sie entziehen sich dem Verzeichnisnamen ( /Users/niho/Desktop/Reader\ 0.5).

joschi
quelle
5
Nur aus Gründen der Vollständigkeit, können Sie auch nur Teile des Arguments, wie zu zitieren entscheiden cd /Users/niho/Desktop/"Reader 0.5"oder sogarcd /Users/niho/Desktop/Reader" "0.5
user123444555621
3
Das letzte (Infixzitate) war neu für mich. Danke!
joschi
Nun: Wie platzieren Sie den Pfad mit den Infix-Leerzeichen in eine Umgebungsvariable, damit Sie dies tun können % cd $foo?
Bogatyr
8

Sie können dem Raum entkommen:

cd /Users/niho/Desktop/Reader\ 0.5
Felix
quelle
4

Wie bereits erwähnt, funktioniert es, wenn Sie den Pfad angeben oder die Leerzeichen mit einem Backslash versehen.

Außerdem unterstützt Bash, die Standardshell unter Mac OS X, die Befehlszeilenvervollständigung mit der Tabulatortaste. Also zB wenn du tippst:

cd /Users/niho/Desktop/Re

Drücken Sie dann die Tabulatortaste. Die Shell füllt den Rest des Ordnernamens aus (solange sich keine anderen Ordner auf Ihrem Desktop befinden, die mit "Re" beginnen) und sorgt dafür, dass die Argumente für cd in Anführungszeichen gesetzt werden, wenn Leerzeichen vorhanden sind im Verzeichnisnamen, den es ausfüllt.

Simon Whitaker
quelle
4

Wenn Sie die Tabulatortaste in der Bash-Verknüpfung verwenden, wird die erste Stelle unterbrochen, an der mehrere Verzeichnisse identische Vornamen haben. In solchen Fällen müsste ein Benutzer Folgendes verwenden:

cd Adobe\ Creative\ Cloud/

oder was ich bevorzuge,

cd 'Adobe Creative Cloud'
Ricardo Fernandez
quelle
Sowohl für bash als auch für zsh funktioniert das Zitieren nicht für mich: `` bash 2 => cd '~ / Library /' bash: cd: ~ / Library /: Keine solche Datei oder Verzeichnis 3 => cd ~ / Library / 4 => pwd / Users / pguruprasad / Library `` `
Prasanth
-1

Dies ist eine bequemere Methode, wenn Sie die cd-Befehle häufiger für bestimmte Verzeichnisse verwenden möchten. Es wird vermieden, den Verzeichnisnamen jedes Mal zu schreiben.

Fügen Sie in Ihrem .bashrc oder .profile Folgendes ein:

# activate cdable_vars
shopt -s cdable_vars

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

Führen Sie Ihr Skript einmal aus: . .bashrc

Dann können Sie wie folgt in Ihr Verzeichnis wechseln:

cd DIR

Dies sollte auch dann funktionieren, wenn der Pfad Leerzeichen enthält.

In Shell-Skripten müssen Sie die Variable jedoch wie folgt zitieren:

cd "$DIR"
Agile Bohne
quelle