Ansible lineinfile insertafter injecte de la ligne à la fin du fichier
Je suis en utilisant lineinfile comme suit:
lineinfile dest=./hosts_exp insertafter='\[hosts1\]' line="xxxxxxxxx" state=present
Mon hosts_exp
est comme suit:
[local]
localhost
[hosts1]
[hosts2]
[hosts3]
lineinfile insère le texte après [hosts3] au lieu de l'insérer après [hosts1].
Quelle est la version de ansible utilisez-vous? J'obtiens le résultat escompté à l'aide de votre test, xxxxxxx est ajouté après [hosts01].
Maintenant, essayez de après avoir de la ligne "xxxxxxxxx" déjà dans votre hosts_exp fichier. Je veux dire, essayez d'ajouter une autre ligne.
Ansible est lineinfile module ne pas ajouter la même ligne deux fois - la tâche est marqué "ok" comme je l'attendais.
Maintenant, essayez de après avoir de la ligne "xxxxxxxxx" déjà dans votre hosts_exp fichier. Je veux dire, essayez d'ajouter une autre ligne.
Ansible est lineinfile module ne pas ajouter la même ligne deux fois - la tâche est marqué "ok" comme je l'attendais.
OriginalL'auteur theharshest | 2014-06-11
Vous devez vous connecter pour publier un commentaire.
utilisation:
OriginalL'auteur fkoessler
exemple:
OriginalL'auteur xsor
Il semble redondant, mais vous devez spécifier la regex:
Pourquoi? Le
regexp
dit: "recherchez la ligne". Leinsertafter
dit "injecter de la ligne ici".J'ai testé cette; voici le commit. Il y a quelques petits changements dans ma engageons à partir de la ligne ci-dessus, utiliser au besoin.
Pour préciser, à l'aide de la regex n'est nécessaire que si vous ne voulez PAS la ligne ajoutée si les deux regex et insertafter match. Si cela est nécessaire si elle ne doit être appliquée la première fois qui est la situation la plus courante.
OriginalL'auteur tedder42
Utilisation backrefs: oui
Cet indicateur change le fonctionnement du module légèrement; insertbefore et insertafter sera ignorée, et si l'expression rationnelle ne correspondent pas n'importe où dans le fichier, le fichier sera laissée inchangée. Si l'expression rationnelle correspond, la dernière règle de la ligne sera remplacé par l'élargissement de la ligne de paramètre.
OriginalL'auteur Tayyab Khan