尝试减去变量的数字,这是Ansible中的int。
var:
number: 30
tasks:
- set_fact: me={{ number -1 }}
- debug: var=me
期望:me = 29
结果:
fatal: [node1]: FAILED! => {"failed": true, "msg": "Unexpected templating type error occurred on ({{ number - 1 }}): unsupported operand type(s) for -: 'AnsibleUnicode' and 'int'"}
答案 0 :(得分:3)
Ansible / Jinja的一个已知问题是您无法在模板化后保留数字类型。
在int
表达式中使用{{..}}
过滤器:
- set_fact: me={{ number | int - 1 }}