4 votes

Espaces dans un nom de dossier

J'ai un nom de dossier avec un espace entre les noms : /Volumes/Img/Horos Data/DATABASE/

J'ai besoin de le mettre dans une variable pour l'utiliser dans un script.

Dans le terminal, je peux utiliser \ pour utiliser le dossier : cd /Volumes/Dados/Horos\ Data/DATABASE/ mais cela ne fonctionne pas lorsque je mets une variable comme :

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

Comment puis-je le mettre dans une variable ?

4voto

grg Points 181593

Les guillemets peuvent être utilisés pour échapper aux espaces lors de l'assignation à une variable.

var="abc def ghi"

4voto

Michael Zhou Points 167

Les variables ou les arguments situés à droite d'une commande sont soumis au découpage des mots par l'interpréteur de commandes, sauf s'ils sont cités. Vous pouvez essayer la démonstration suivante.

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X