282 votes

Quand mettre des guillemets autour d'une variable shell ?

Quelqu'un pourrait-il me dire si je dois ou non encapsuler des guillemets autour des variables dans un script shell ?

Par exemple, est-ce que ce qui suit est correct :

 xdg-open $URL 
[ $? -eq 2 ]

ou alors

 xdg-open "$URL"
[ "$?" -eq "2" ]

Et si oui, pourquoi ?

5voto

Bach Lien Points 670

J'utilise généralement des guillemets comme "$var" pour plus de sécurité, sauf si je suis sûr que $var ne contient pas d'espace.

J'utilise $var comme moyen simple de joindre des lignes :

 lines="`cat multi-lines-text-file.txt`"
echo "$lines"                             ## multiple lines
echo $lines                               ## all spaces (including newlines) are zapped

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X