Ich habe einen Ordnernamen mit einem Leerzeichen zwischen dem Namen:/Volumes/Img/Horos Data/DATABASE/
Ich muss es in eine Variable einfügen, 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 schreiben?
Variablen oder Argumente auf der rechten Seite eines Befehls unterliegen der Worttrennung durch die Shell, sofern sie nicht in Anführungszeichen stehen. Sie können die folgende Demonstration ausprobieren.
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
Anführungszeichen können verwendet werden, um Leerzeichen bei der Zuweisung an eine Variable zu maskieren.
var="abc def ghi"
Vilefort
Thrig
blah $var
, beißt Sie das POSIX-Wort split