Syntax 当Ansible中的--inventory选项的值后面带有逗号时,它是如何工作的?
Syntax 当Ansible中的--inventory选项的值后面带有逗号时,它是如何工作的?,syntax,ansible,Syntax,Ansible,ansible和ansible剧本的手册页将-i选项定义为: -i PATH, --inventory=PATH The PATH to the inventory hosts file, which defaults to /etc/ansible/hosts. 但要在本地系统上运行,示例中使用了以下语法: ansible -i "localhost," -c local -m ping localhost 这到底是什么?“localhost”,末尾带有逗号(否
ansible
和ansible剧本
的手册页将-i
选项定义为:
-i PATH, --inventory=PATH
The PATH to the inventory hosts file, which defaults to
/etc/ansible/hosts.
但要在本地系统上运行,示例中使用了以下语法:
ansible -i "localhost," -c local -m ping localhost
这到底是什么?“localhost”,末尾带有逗号(否则它被视为文件名),它与
路径有什么关系?实际上,当您要对特定主机运行命令时,不要添加-i
,而是按以下方式运行它:
ansible localhost -m ping
使用-i
仅指定动态资源清册或主机的路径 根据Ansible的创始人迈克尔·德安(Michael DeHann)的说法,你所指的逗号技巧是。在没有清单文件的情况下运行Ansible是一种黑客行为,在这种情况下,您将针对localhost运行Ansible。这样,您实际上不必创建一个只列出本地主机的清单文件。这(至少现在)是一个有文档记录的功能。从:
-i、 --库存,--库存文件
指定清单主机路径或逗号分隔的主机列表--库存文件已弃用
(增加重点)
手册中仍然没有提到的是,“逗号分隔的主机列表”意味着您需要添加一个逗号,即使“列表”是单个项目,也要区分“目标主机名为<代码>主机名代码>”:
和“从名为hostname
的文件加载资源清册”:
如果有人有时间,也许你可以提交一个pull请求来更改以解释这一点(并在“逗号分隔”中添加一个连字符,但可能这只是我…)这并不能完全回答“为什么在PATH参数的值中添加逗号会改变参数的解释”这适用于除localhost以外的主机,现在是一个文档化的特性
$ ansible -i 'hostname,' ...
$ ansible -i 'hostname,' ...