2017-06-11 56 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