Ansible版本2.1.2.0(自制软件,macOS - 删除了以前的任何版本)
ansible myserver -m apt -a “name=backup2l,state=present” --ask-pass
返回此错误:
myserver | FAILED! => {
"changed": false,
"failed": true,
"msg": "unsupported parameter for module: “name"
}
根据the examples,这似乎是正确的语法:
# Install the package "foo"
- apt: name=foo state=present
我尝试用单引号包装name
和state
的值,也使用参数之间的空格(它不喜欢它 - “ERROR!Missing target hosts”)。
有什么想法吗?
答案 0 :(得分:0)
ansible参数由空格分隔,如命令行,而不是函数调用。
尝试:
ansible myserver -m apt -a “name=backup2l state=present” --ask-pass
答案 1 :(得分:0)
由于使用了“智能引号”而不是"常规引号",这是因为首先在我的笔记应用程序中输入命令然后复制并粘贴到iTerm中。
注意:您收到的错误消息取决于您尝试执行的操作 - 如果您使用-a
运行单个命令,Ansible会说"没有此类文件或目录"
Mac用户解决方案:
系统偏好设置>键盘>文字>取消选中"使用智能引号和短划线"。
如果您愿意,可以投票:iTerm2 feature request