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?

Vilefort
quelle

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
fd0
quelle
4

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

var="abc def ghi"
grg
quelle
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