模式不适用于 ansible-playbook 和 --limit 吗?

Do patterns not work with ansible-playbook and --limit?

我想限制一个 ansible 运行 所有不在 windows 组中的网络服务器。我在创建新组时完成了此操作:

[test]
webservers:!windows

和运行是这样的:

ansible-playbook -i inventories/staging/ site.yml --limit test

但是当我试图避免组定义并将所有内容放入限制语句时,它失败了 !windows 找不到事件

ansible-playbook -i inventories/staging/ site.yml --limit "webservers:!windows" 

这是不支持还是我哪里不对?

!bash中的一个特殊字符,用来扩展前面的命令。

您应该使用单引号以避免 bash 扩展:--limit 'webservers:!windows'