Je veux afficher une chaîne dans Bash comme celle-ci
I'm a student
bien sur tu peux faire comme ça
echo "I'm a student"
Mais comment y parvenir en utilisant des guillemets simples autour de la chaîne ?
Je veux afficher une chaîne dans Bash comme celle-ci
I'm a student
bien sur tu peux faire comme ça
echo "I'm a student"
Mais comment y parvenir en utilisant des guillemets simples autour de la chaîne ?
echo 'I\'m a student'
ne marche pas. Mais les travaux suivants :
echo $'I\'m a student'
Depuis la page de manuel de bash :
Un guillemet simple ne peut pas apparaître entre des guillemets simples, même lorsqu'il est précédé par une barre oblique inverse. .... Les mots de la forme $'string' sont traités spécialement. Le mot se développe en chaîne, les caractères d'échappement avec barre oblique inverse étant remplacés par spécifié par la norme ANSI C.
La solution "laide" mentionnée par Glenn Jackman devrait en fait être répertoriée comme une réponse de haut niveau. Cela fonctionne bien et est en fait magnifique dans certaines situations.
'I'"'"'m a student'
Cela termine la chaîne entre guillemets simples après I
puis démarre immédiatement une chaîne entre guillemets doubles contenant un guillemet simple, puis démarre une autre chaîne entre guillemets simples. Bash concatène ensuite toutes les chaînes contiguës en une seule.
Beau!
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.