我的库存很可观,里面有下面的条目。
a
现在,如果要访问本地组的主机变量“端口”。我有一个简单的剧本来显示变量值。
[local]
localhost port=80
[apacheweb]
kputtegowda2c.mylabserver.com
[appserver]
kputtegowda3c.mylabserver.com
上面的示例产生输出。
- hosts: local
gather_facts: yes
tasks:
- debug: var={{ port }}
如果我使用hostvars [inventory_hostname] .port,而不是直接访问port变量,则会得到如下输出。
TASK [debug] *************
ok: [localhost] => {
"80": "VARIABLE IS NOT DEFINED!"
}
答案 0 :(得分:1)
这是因为您在不应该使用胡须的情况下使用了胡须;如果将var=
切换为msg=
,它将按预期运行,但是您写的内容等同于:
tasks:
- debug: var=80
这正是ansible运行的内容,解释了"80": "VARIABLE IS NOT DEFINED"
文字