- Here Document
-
Un Here Document aussi appelé heredoc ou encore document « ici-même » est une manière de déclarer une chaîne de caractères dans les interpréteurs de commandes comme les shells Unix (sh, ksh, csh, bash, zsh) et dans les langages de programmation ou de script comme Perl, PHP, Python et Ruby. Il conserve tous les sauts de lignes et espaces dans le texte, indentation comprise. Certains langages permettent l'interpolation de variable dans la chaîne.
La syntaxe la plus courante consiste en une double paire de chevrons
<<
suivie d'un délimiteur, suivi sur la ligne suivante par la première ligne du Heredoc, clos à la fin par le délimiteur sur sa propre ligne.Exemples
Shell Unix
On passe ici un here document dans l'entrée standard de la commande tr du shell Unix, dans le but de mettre en majuscule toutes les minuscules :
$ tr [a-z] [A-Z] <<FIN > oui oui oui c est moi belzebuth ! > FIN OUI OUI OUI C EST MOI BELZEBUTH !
FIN
est utilisé comme délimiteur du here document, ce dernier se trouve donc entre les deuxFIN
.OUI OUI OUI C'EST MOI BELZEBUTH !
est le résultat de la commande.>
est une invite de prompt indiquant que l'édition de la ligne de commande n'est pas encore achevée.Il est possible d'interpoler une variable du shell dans le here document :
cat <<MON_NOM_EST > Mon nom est $LOGNAME > MON_NOM_EST Mon nom est jeanpierre
Wikimedia Foundation. 2010.