Dans la section 3.1.2.3 intitulée Double Quotes, le manuel Bash dit:
Le fait de placer des caractères entre guillemets doubles ('"') préserve la valeur littérale de tous les caractères entre guillemets, à l'exception de '$', '' ',' \ 'et, lorsque l'expansion de l'historique est activée,'! '.
Pour le moment, je suis préoccupé par la citation unique ( '
).
Sa signification particulière, décrite dans la section précédente, la section 3.1.2.2 est:
La présence de caractères entre guillemets simples (
'
) préserve la valeur littérale de chaque caractère entre guillemets. Un guillemet simple ne peut pas apparaître entre guillemets simples, même lorsqu'il est précédé d'une barre oblique inverse.
Combinant les deux expositions,
echo "'$a'"
où la variable a
n'est pas définie (d'où $a
= chaîne nulle), devrait $a
s'afficher à l'écran, car ''
, ayant sa signification spéciale à l'intérieur, protégerait $
de l'interprétation spéciale. Au lieu de cela, il imprime ''
. Pourquoi
’, ‘\’, and, when history expansion is enabled, ‘!’." in the manual. But now reading it again I realized the second character is not single quote, ("'") but tilde ("
"). I' Je vous remercie de votre réponse rapide. Merci