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

MBu*_*eld 1 ansible ansible-2.x ansible-inventory

我想将 ansible 运行限制为所有不在 windows 组中的网络服务器。我在创建新组时完成了这项工作:

[test]
webservers:!windows
Run Code Online (Sandbox Code Playgroud)

并像这样运行它:

ansible-playbook -i inventories/staging/ site.yml --limit test
Run Code Online (Sandbox Code Playgroud)

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

ansible-playbook -i inventories/staging/ site.yml --limit "webservers:!windows" 
Run Code Online (Sandbox Code Playgroud)

这是不支持还是我有什么问题?

Kon*_*rov 5

!bash用于扩展先前命令的特殊字符。

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