ansible和ansible-playbook的man页面将-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”究竟是什么,最后用逗号(否则它被视为文件名)以及它与PATH有什么关系?
最佳答案 这(现在,至少)是一个记录的功能.从
man
page:
-i, –inventory, –inventory-file
specify inventory host path or comma separated host list. –inventory-file is deprecated
(重点补充)
手册中还没有的是“逗号分隔的主机列表”意味着即使“列表”是单个项目也需要添加逗号,以区分“目标单个主机名为hostname”:
$ansible -i 'hostname,' ...
和“从名为hostname的文件加载库存”:
$ansible -i 'hostname,' ...
如果有人有时间,也许你可以提交一个拉取请求来改变the help text解释这个(并在“逗号分隔”中添加一个连字符,但也许这只是我…)