gpt4 book ai didi

ansible - 如何在ansible变量中转义双引号

转载 作者:行者123 更新时间:2023-12-04 12:40:48 25 4
gpt4 key购买 nike

我有一个 ansible playbook,它接受一个变量,传递一个带引号的变量(需要),该变量将用于查询 DB

剧本

- name: Execute clear script
script: scripts/clear-documents.sh {{ids}}

命令
ansible-playbook playbooks/maintenance.yml -i hosts -t clear -e ids=["foo", "bar"]

在这个过程脚本接收输入为 [foo, bar] 而不是 ["foo", "bar"]

我尝试使用反斜杠进行转义,但这没有帮助
ansible-playbook playbooks/maintenance.yml -i hosts -t clear -e ids=[\"foo\", \"bar\"]

在剧本中添加双引号,使输入像 "[foo,bar]"而不是 ["foo", "bar"]
script: scripts/clear-documents.sh "{{ids}}"

我搜索了很多,但没有得到任何适当的解决方案,有没有办法处理这个问题

笔记:
ansible 版本 - 2.2.3.0

最佳答案

您要找的是quote , 结合@JGK 的正确用法 -e ids='["foo", "bar"]'因为你没有在进入 ansible 的过程中引用它们,然后你没有在离开 ansible 的过程中引用它们 shell:任务

- shell: scripts/clear-documents.sh {{ ids | quote }}

关于ansible - 如何在ansible变量中转义双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56025638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com