Ansible 调节中的 split 函数

Ansible 调节中的 split 函数

如果存在具有特定值的其他变量,我正在尝试创建一个变量。

- set_fact: "var_B=somevalue"
  when: "var_A is defined and var_A.split(':')[0] > 2"

这不起作用。有任何想法吗

答案1

我猜你想从 var_A 中获取一些数字,对吗?
比如5从字符串中获取5:8:9:3

在这种情况下你应该进行类型转换:

- set_fact: "var_B=somevalue"
  when: "var_A is defined and var_A.split(':')[0]|int > 2"

注释|int过滤器已应用。

否则,您将比较字符串"5"和数字2
在 Python 中(在 Ansible 的框架下),字符串始终大于整数。

相关内容