Ansible - le "|" et le ">"

La différence entre > et | dans Ansible réside dans la manière dont les chaînes sont traitées.

Les symboles :

  • > : utilisé pour plier une chaîne de texte :
    • remplace les sauts de ligne par des espaces, sauf à la fin de la chaîne
    • utilisé lpour écrire du texte sur plusieurs lignes mais qui sera traité comme une seule ligne
  • | : utilisé pour traiter une chaîne de texte comme un bloc non plié :
    • conserve les sauts de ligne d’origine
    • utile pour la mise en forme

Utilisation de >

L’utilisation de “>” avec “command:” indique à YAML de plier (fold) la chaîne de texte. Cela signifie que les sauts de ligne dans la chaîne sont convertis en espaces, sauf lorsque la chaîne se termine par un saut de ligne. Par conséquent, si vous avez un script avec plusieurs lignes, cela facilite la lecture et l’écriture dans le fichier YAML.

Dans cet exemple, le script avec plusieurs lignes est traité comme une seule chaîne avec des espaces entre les lignes :

- name: Utilisation de >
command: >
echo "Ceci est un script avec une seule ligne"
echo "mais ECRITE sur plusieurs lignes dans le playbook"
echo "pour plus de lisibilité"

- name: Utilisation de > avec shell:
shell: >
echo "Ceci est un script avec une seule ligne"
echo "mais ECRITE sur plusieurs lignes dans le playbook"
echo "pour plus de lisibilité"

Utilisation de |

Dans cet exemple, le script conserve les sauts de ligne d’origine :

- name: Utilisation de |
shell: |
echo "Ceci est"
echo "un script AVEC"
echo "plusieurs lignes"

- name: Utilisation de | avec command:
command: |
echo "Ceci est"
echo "un script AVEC"
echo "plusieurs lignes"

Documentation

ChatGPT

> Partager <