如何将包含json对象的变量作为外部变量传递给执行ansible playbooks?

如何将包含json对象的变量作为外部变量传递给执行ansible playbooks?,ansible,Ansible,我无法将带有json对象的变量作为额外变量传递给Ansible playbook,因为它无法识别变量 我将json对象保存到linux shell中名为“pay”的变量中 当我使用sudo ansible playbook test.yml-e“${pay}”调用ansible playbook时 它抛出以下错误 “msg”:“该任务包含一个带有未定义变量的选项。错误为:'username'未定义\n”\ 当我直接传递json文件时,它就工作了 ```sudo ansible playbook

我无法将带有json对象的变量作为额外变量传递给Ansible playbook,因为它无法识别变量

我将json对象保存到linux shell中名为“pay”的变量中

当我使用
sudo ansible playbook test.yml-e“${pay}”调用ansible playbook时

它抛出以下错误

“msg”:“该任务包含一个带有未定义变量的选项。错误为:'username'未定义\n”\

当我直接传递json文件时,它就工作了

```sudo ansible playbook test.yml-e'@payload.json'``


有人能帮我们吗?

如果您想将json作为外部变量传递,那么您需要在运行playbook时直接传递值

https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html(在命令行上传递变量)


ansible playbook release.yml--extra vars“version=1.23.45 other_variable=foo”

您能告诉我们$pay的内容是什么样子的吗?我无法从您的描述中重现您的问题。