2013-10-30 32 views
25

Ich würde erwarten, dass dies ziemlich einfach ist. Ich bin mit dem lineinfile Modul wie folgt:Wie kann ich in Ansible eine Zeile am Ende einer Datei hinzufügen?

- name: Update bashrc for PythonBrew for foo user 
    lineinfile: 
    dest=/home/foo/.bashrc 
    backup=yes 
    line="[[ -s ${pythonbrew.bashrc_path} ]] && source ${pythonbrew.bashrc_path}" 
    owner=foo 
    regexp='^' 
    state=present 
    insertafter=EOF 
    create=True 

Das Problem, das ich habe ist, dass es die letzte Zeile in der Datei ist zu ersetzen mit meiner neuen Linie (die fi ist), anstatt die Zeile angehängt wird. Dies erzeugt einen Syntaxfehler.

Sind die Parameter korrekt? Ich habe versucht, regexp auf '^' und '' (leer) zu setzen. Gibt es einen anderen Weg, dies zu tun?

Ich benutze Ansible 1.3.3.

Antwort

27

The Ansible discussion group geholfen, mich darüber zu sortieren. Das Problem ist der regexp Parameter.

Da ich nur die Zeile an die Datei angehängt werden möchte, brauche ich die Regexp, um die Zeile so genau wie möglich zu entsprechen. Dies ist in meinem Fall durch die Tatsache kompliziert, dass meine Zeile Variablen enthält. Aber unter der Annahme, die Linie begann [[ -s $HOME/.pythonbrew, fand ich folgende ausreichend sein:

- name: Update bashrc for PythonBrew for foo user 
    lineinfile: 
    dest=/home/foo/.bashrc 
    line="[[ -s ${pythonbrew.bashrc_path} ]] && source ${pythonbrew.bashrc_path}" 
    regexp="^\[\[ -s \\$HOME/\.pythonbrew" 
    owner=foo 
    state=present 
    insertafter=EOF 
    create=True 
4

Offenbar ansible gereift und jetzt (Version> 2.4.0) nach den documentation, die Standardeinstellung, wenn nur die Zeile angegeben werden eine bestimmte Zeile an die Zieldatei anhängen:

- name: Update bashrc for PythonBrew for foo user 
     lineinfile: 
     dest=/home/foo/.bashrc 
     line="[[ -s ${pythonbrew.bashrc_path} ]] && source {pythonbrew.bashrc_path}" 
     owner=foo 
+2

Sind Sie zurück aus der Zukunft? Ansible stable ist 2,4 und devel ist 2,5 ... 2,9 wird voraussichtlich in 2018-2019 veröffentlicht werden. – sorin

+0

Dank @sorin nicht nur, dass ich zurück aus der Zukunft bin Ich suche Frau Connor – shlomoa

Verwandte Themen