2017-05-17 2 views
1

Ich benutze ansible für on eines meiner Projekte, in denen ich einen Befehl ausführen möchte, wenn der vorherige Befehl mir einen Wert zurückgibt. Wie ich den Stammordner überprüfe und wenn Dateien mehr als sagen wir 10 gefunden werden, führe den nächsten Befehl aus.Ansible: Befehl ausführen, wenn Wert arithmetisch ist

Ich versuche dies mit ansbile in der unten beschriebenen Weise zu tun. Pls help

--- 
- hosts: debug 
    user: root 

    tasks: 
    - name: check if count ge 15 
    command: bash -c "ls /root | wc -l" 
    register: ifcount 
    ignore_errors: True 
    - debug: var=ifcount.stdout 

- name: create new file if above command sucessfull 
    command: touch /tmp/file.html 
    when: ifcount -ge 15 

Antwort

1

when ein Jinja2 Ausdruck ist. Es verwendet Jinja2 comparison Betreiber.

Beachten Sie auch, dass Sie versuchen, ifcount zu vergleichen, während der tatsächliche Wert zu vergleichen ist ifcount.stdout.

Versuchen: when: ifcount.stdout | int >= 15

+0

Dank Suvorov. Es hat genau das gewollt, was ich wollte. Danke vielmals. – Deven

Verwandte Themen