Ansible - 数学运算,减法

Kev*_*n C 1 math ansible

试图减去一个变量的数字,这是 Ansible 中的 int。

var:
  number: 30
tasks:
  - set_fact: me={{ number -1 }}
  - debug: var=me
Run Code Online (Sandbox Code Playgroud)

期待: me = 29

结果:

 fatal: [node1]: FAILED! => {"failed": true, "msg": "Unexpected templating type error occurred on ({{ number - 1 }}): unsupported operand type(s) for -: 'AnsibleUnicode' and 'int'"}
Run Code Online (Sandbox Code Playgroud)

Kon*_*rov 6

Ansible/Jinja 的一个已知问题是您无法在模板化后保留数字类型。

int{{..}}表达式中使用过滤器:

- set_fact: me={{ number | int - 1 }}
Run Code Online (Sandbox Code Playgroud)