问题:
如何评估临时命令中的(额外)变量?
有没有办法让数组在临时命令中工作?
背景: 我想确保主机上的多个容器正在运行(在我的示例中这是“test01”和“test02”)
我已经发现(如果我错了,请纠正我)我不能使用数组或with_items
临时命令,所以这不起作用:
ansible all -i ,localhost -m docker_container -c local -a 'name=["test01","test02"] state=started command="sleep infinity"
现在我尝试了,但也没有用:
ansible all -i ,localhost -m docker_container -c local -e MYVAR='[test01,test02]' -a 'name=MYVAR state=started command="sleep infinity"
... 甚至 ...
ansible all -i ,localhost -m shell -c local -e MYVAR='[test01,test02]' -a 'echo MYVAR'
还是-e
( --extra-vars
) 参数错误?
(环境:linux(manjaro)上的ansible 2.9.10)
与任何剧本或变量文件相同,使用花括号:
虽然我不明白这样做的意义,但您可以直接在需要的地方使用变量的值......
这也不会帮助您循环列表,它完全取决于模块是否支持参数中的多个值,如果不支持,则必须在 shell 脚本中实现循环。