2017-06-11 142 views
0

Ansible文檔指出:Ansible循環和條件

結合時with_items(見Loops),注意,當語句是根據每個項目分別進行處理。

然而,當我試圖跳過任務的一個項目,它不工作的方式:

value_var: [1, 5] 

- name: register variable 
    command: echo "4" 
    register: var 

- name: conditional check 
    command: nevermind 
    when: var.stdout > item 

按照我的理解,我會得到changed的第一項任務conditional check內,並skipped在第二項。但我得到:

changed: [guest] => (item=5) 
changed: [guest] => (item=1) 

我在做什麼錯?

回答

0

它與循環無關。您正在比較一個字符串(echo命令的結果)和一個整數。

你應該先投值:

when: var.stdout|int > item