899 votes

Différence entre des guillemets simples et doubles en bash

Dans les scripts de shell Bash, quelle est la différence entre guillemets simples ( ) et double quotes ( ) ?

916voto

Adam Batkin Points 20920

Les guillemets simples de ne pas interpoler quoi que ce soit, mais guillemets doubles (par exemple, des variables, des backticks, certains \ s'échappe, etc...)

Le Bash manuel a ceci à dire:

3.1.2.2 Les Guillemets Simples

En joignant les caractères entre guillemets simples (‘') préserve la valeur littérale de chaque caractère dans la cite. Une seule citation ne peut se produire entre des guillemets simples, même lorsqu'il est précédé d'une barre oblique inverse.

3.1.2.3 Guillemets

En joignant les caractères entre guillemets doubles (‘"') préserve la valeur littérale de tous les caractères dans le devis, à l'exception de‘$', ‘', ‘\', et, lorsque l'histoire de l'expansion est activé, ‘!'. Les caractères " $ " et ‘ conservent leur signification spéciale à l'intérieur de guillemets doubles (voir Shell Extension). La barre oblique inverse conserve sa signification spéciale seulement lorsqu'il est suivi par l'un des caractères suivants: ‘$', ‘', ‘"', ‘\', ou retour à la ligne. À l'intérieur de guillemets doubles barres obliques inverses qui sont suivies par un de ces caractères sont supprimés. Les barres obliques inverses précédent caractères sans signification particulière sont retenues. Une double citation peut être cité à l'intérieur de guillemets doubles en le faisant précéder d'une barre oblique inverse. Si l'option est activée, l'histoire de l'expansion sera effectué à moins qu'un ‘!' apparaissant dans les guillemets échappés à l'aide d'une barre oblique inverse. La barre oblique inverse précédant le ‘!' n'est pas supprimé.

Les paramètres spéciaux ‘*' et ‘@' ont une signification particulière lorsque doubles guillemets (voir Shell Paramètre d'Extension).

260voto

likso Points 807

Si vous faites allusion à ce qui se passe quand vous echo quelque chose, les guillemets simples résonneront littéralement ce que vous avez entre eux, tandis que les doubles guillemets évalueront les variables entre eux et la valeur de la variable de sortie.

Par exemple, cela

Cela donnera :

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