Différence entre les citations simples et doubles dans Bash

Différence entre les citations simples et doubles dans Bash

Bash, la coque utilisée dans la plupart des distributions Linux, fournit plusieurs façons de citer les chaînes. Parmi ces citations simples (”) et citations doubles («») sont les plus couramment utilisés. Bien qu'ils puissent paraître similaires, ils ont un comportement différent et peuvent affecter la façon dont la coque interprète le contenu de la chaîne.

Dans cet article, nous explorerons les différences entre les citations simples et doubles dans Bash.

Guillemets simples (")

Des citations simples sont utilisées pour enfermer une chaîne en bash. Lorsqu'une chaîne est enfermée en citations simples, la coquille traite le contenu de la chaîne comme une chaîne littérale, sans aucune interprétation. Cela signifie que tous les caractères spéciaux à l'intérieur des citations uniques sont traités comme des caractères réguliers, et aucune expansion ou substitution n'a lieu.

Par exemple, si nous avons une chaîne qui contient un signe en dollars ($), qui est un personnage spécial dans Bash, et nous l'enfermons en devis uniques, le signe du dollar est traité comme un caractère régulier et non élargi. Voici un exemple:

Echo «Mon salaire est de 1000 $»
1Echo «Mon salaire est de 1000 $»

Dans cet exemple, la chaîne 'Mon salaire est de 1000 $' est enfermé en citations uniques. Lorsque nous exécutons la commande, le shell traite la chaîne comme une chaîne littérale et l'imprime exactement telle qu'elle est, sans élargir le signe du dollar.

Double citation ("")

Des citations doubles sont également utilisées pour enfermer une chaîne en bash. Lorsqu'une chaîne est enfermée en doubles citations, la coquille traite le contenu de la chaîne différemment des citations simples. Plus précisément, le shell étend les variables et certains caractères spéciaux à l'intérieur des doubles citations.

Par exemple, si nous avons une variable $ nom qui contient une valeur 'John', Et nous l'enfermons en double guillemets, le shell étend la variable et remplace sa valeur dans la chaîne. Voici un exemple:

name = "John" echo "bonjour, $ name!"
12name = 'John'echo "Bonjour, $ name!"

Dans cet exemple, le nom de $ variable est enfermé en doubles devis. Lorsque nous exécutons la commande, le shell étend la variable et remplace sa valeur dans la chaîne, ce qui entraîne la sortie 'Bonjour John!'.

Les doubles citations permettent également d'utiliser certains caractères spéciaux tels que les barres obligeantes (\) et les marques d'exclamation (!) Dans la chaîne. Ces caractères peuvent être échappés à l'aide d'une barre de barre (\) Pour éviter leur signification particulière.

Par exemple, si nous voulons inclure une marque d'exclamation dans notre chaîne, qui a une signification particulière dans Bash, nous pouvons lui échapper avec une barre de barre pour éviter sa signification particulière. Voici un exemple:

Echo "Ceci est une marque d'exclamation: \!"
1Echo "Ceci est une marque d'exclamation: \!"

Dans cet exemple, la marque d'exclamation est échappée par un bombardement (!) Pour éviter sa signification particulière. Lorsque nous exécutons la commande, le shell traite la marque d'exclamation comme un caractère régulier et l'imprime dans la sortie.

Conclusion

En conclusion, la principale différence entre les citations simples et les citations doubles dans Bash est la façon dont la coquille traite le contenu de la chaîne. Les citations simples traitent le contenu de la chaîne comme une chaîne littérale, sans aucune interprétation ni substitution, tandis que les citations doubles permettent l'expansion des variables et certains caractères spéciaux. Lorsque vous utilisez des citations dans Bash, il est important de comprendre les différences entre les citations simples et doubles et de choisir celle appropriée en fonction du comportement prévu.