Ansible中算术运算实现:如何用两个变量执行减法操作
在Ansible中实现变量间的减法运算
当然可以实现这个需求啦!你之前的写法问题出在嵌套了双层大括号,Ansible使用的Jinja2模板语法里,只需要一层大括号就能完成变量引用和算术运算~
正确的实现方式
先给你看一个完整的示例,包含变量定义、减法运算和结果验证:
- name: 定义用于运算的变量 set_fact: variable: 15 another_variable: 7 - name: 执行变量减法运算 set_fact: first_count: "{{ variable - another_variable }}" - name: 输出运算结果 debug: msg: "减法结果是: {{ first_count }}"
关键说明
- 不需要嵌套
{{ }},直接在一层大括号里写变量1 - 变量2即可,Jinja2会自动解析变量并执行算术操作。 - 如果你的变量是从外部获取的(比如主机facts、inventory变量),用法完全一致,只要变量是数值类型就没问题。
- 要是变量是字符串格式的数字,记得先转成整数,避免运算报错,比如:
first_count: "{{ variable | int - another_variable | int }}"
运行上面的示例playbook,first_count会得到8,完全符合预期哦!
内容的提问来源于stack exchange,提问作者Marvelous
相关产品推荐
相关产品推荐

