如果在一行中定义了另一个变量,如何设置变量?
How to set variable if another variable defined in one line?
我正在使用此代码设置变量,然后检查此变量是否为 1:
{% if pillar['setup_user'] is defined %}
{% set var_setup_user = pillar['setup_user'] %}
{% else %}
{% set var_setup_user = 1 %}
{% endif %}
{% if var_setup_user == 1 %}
setup-user:
cmd.run:
- name: |
...
- shell: /bin/bash
- user: root
{% endif %}
有没有办法在一行或两行中检查这个?
谢谢
普通的三元运算符行得通吗?
{% set var_setup_user = pillar['setup_user'] if pillar['setup_user'] is defined else 1 %}
{% set var_setup_user = pillar['setup_user']|d(1) %}
d
是 default 过滤器的别名。
我正在使用此代码设置变量,然后检查此变量是否为 1:
{% if pillar['setup_user'] is defined %}
{% set var_setup_user = pillar['setup_user'] %}
{% else %}
{% set var_setup_user = 1 %}
{% endif %}
{% if var_setup_user == 1 %}
setup-user:
cmd.run:
- name: |
...
- shell: /bin/bash
- user: root
{% endif %}
有没有办法在一行或两行中检查这个?
谢谢
普通的三元运算符行得通吗?
{% set var_setup_user = pillar['setup_user'] if pillar['setup_user'] is defined else 1 %}
{% set var_setup_user = pillar['setup_user']|d(1) %}
d
是 default 过滤器的别名。