Leerzeichen in einem Ordnernamen


4

Ich habe einen Ordnernamen mit einem Leerzeichen zwischen dem Namen: /Volumes/Img/Horos Data/DATABASE/

Ich muss es in eine Variable setzen, um es in einem Skript zu verwenden.

Im Terminal kann ich \den Ordner: verwenden cd /Volumes/Dados/Horos\ Data/DATABASE/, aber es funktioniert nicht, wenn ich eine Variable wie:

DESTINY=/Volumes/Dados/Horos\ Data/DATABASE.noindex/
ls $DESTINY

Wie kann ich es in eine Variable setzen?

Antworten:


4

Variablen oder Argumente auf der rechten Seite eines Befehls unterliegen der Wortteilung durch die Shell, sofern nicht anders angegeben. Sie können die folgende Demonstration versuchen.

touch foo\ bar\ baz
#
ls foo\ bar\ baz
foo bar baz
# or
ls "foo bar baz"
foo bar baz
#
var=foo\ bar\ baz
ls $var
ls: bar: No such file or directory
ls: baz: No such file or directory
ls: foo: No such file or directory
#
ls "$var"
foo bar baz

4

Anführungszeichen können verwendet werden, um Leerzeichen bei der Zuweisung zu einer Variablen zu umgehen.

var="abc def ghi"

Es funktioniert nicht mit Anführungszeichen! Ich habe es mit doppelten und einfachen Anführungszeichen versucht und einen Fehler zurückgegeben. DESTINY = / Volumes / Dados / Horos-Daten / DATABASE / error = link_stat "/ Volumes / Dados / Horos" fehlgeschlagen: Keine solche Datei oder Verzeichnis (2)
Vilefort

... außer es ist , wenn Sie verwenden die Variable über so etwas wie , blah $vardass das POSIX Wort Split Sie beißt
thrig
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.