我有ansible库存,里面有下面的条目。
[local]
localhost port=80
[apacheweb]
kputtegowda2c.mylabserver.com
[appserver]
kputtegowda3c.mylabserver.com现在,如果我想访问本地组的主机变量"port“。我有一个简单的剧本来显示变量值。
- hosts: local
gather_facts: yes
tasks:
- debug: var={{ port }}上面的示例产生了输出。
TASK [debug] *************
ok: [localhost] => {
"80": "VARIABLE IS NOT DEFINED!"
}如果我使用hostvarsinventory_hostname.port,我将得到如下输出,而不是直接访问端口变量。
TASK [debug] ****************
ok: [localhost] => {
"hostvars[inventory_hostname].port": "80"
}发布于 2019-01-05 12:18:39
这是因为您在不应该使用的时候使用了八字胡;如果您将var=切换为msg=,它将按预期工作,但您编写的内容相当于:
tasks:
- debug: var=80这正是ansible运行的,它解释了"80": "VARIABLE IS NOT DEFINED"文本
https://stackoverflow.com/questions/54047670
复制相似问题