Ansible默认值和拆分字符串

Ansible默认值和拆分字符串,ansible,yaml,Ansible,Yaml,我试图在ansible脚本中设置一个默认值,如果变量存在,是否要拆分子字符串? 假设env_var:10.6.1是,那么我想将一些变量设置为10.6或默认设置为10.5 我知道我们可以设置默认值,但不确定如果存在env变量,如何提取子字符串 some_var1 : "{{ env_var | default(10.5) }}" 看起来你可以这样做: some_var_1: "{{ '.'.join((env_var | default('10.5')).split('.')[:2]) }}"

我试图在ansible脚本中设置一个默认值,如果变量存在,是否要拆分子字符串? 假设
env_var:10.6.1
是,那么我想
将一些变量设置为10.6或默认设置为10.5

我知道我们可以设置默认值,但不确定如果存在env变量,如何提取子字符串

some_var1 : "{{ env_var | default(10.5) }}"

看起来你可以这样做:

some_var_1: "{{ '.'.join((env_var | default('10.5')).split('.')[:2]) }}"
这将取
env_var
(如果该变量不可用,则取字符串“10.5”),将其拆分为
,然后使用

将前两个组件连接起来,取

some_var1: "{{ env_var | default('10.5.0')|splitext|first }}"