ansible-console中使用debug模块无法输出自定义fact值问题咨询
问题根因
ansible-console 中调用带命名参数的模块时,需遵循参数名=参数值的语法规则传递参数。你执行debug命令时使用空格分隔msg参数名和参数值,导致debug模块未识别到传入的自定义msg参数,触发默认逻辑返回了默认值Hello world!。
你之前使用shell模块可以正常执行,是因为shell模块的参数不需要显式指定参数名,模块会默认将命令后所有内容当作要执行的shell语句处理。
解决方案
将debug命令的参数分隔符由空格替换为等于号即可,正确命令如下:
red@all (1)[f:5]$ debug msg="{{ ansible_facts.ansible_local.decomm.list1[3] }}"
执行上述命令即可得到预期的XXXX输出。
内容的提问来源于stack exchange,提问作者Red Cricket
相关产品推荐
相关产品推荐

