Ansible:如何在使用搜索或匹配功能时处理点

Ansible: how to handle dots while using search or match functions

这是两种情况,变量 prefix 将只保存另一个字符串。

1) 这有效:

 when: ansible_hostname | search("{{ prefix }}-test-.*")

2)这可能因为搜索字符串中的点而不起作用。

 when: ansible_hostname | search("{{ prefix }}-test-.*.tin.com)

我什至尝试转义点但没有成功。

when: ansible_hostname | search("{{ prefix }}-test-.*\.tin\.com)

最后我明白 ansible_hostname 只会给你 fqdn 的一部分,因此因为我的正则表达式试图用 .tin.com 寻找 fqdn 它不匹配。目前我将使用 groups['name'] 遍历我的主机并获取 fqdn。 注意:Ansible ansible_fqdn 可以提供完整的主机名,但只有在配置了 DNS 时才能正常工作。