gpt4 book ai didi

yaml - 编码斜线/在 Ansible YAML 文件中

转载 作者:行者123 更新时间:2023-12-01 23:09:49 26 4
gpt4 key购买 nike

在 Ansible 保险库中存储随机生成的密码时,我没有任何问题,除非密码包含/(斜杠,正斜杠)

根据Yaml Spec 1.2 ,在查看可打印的 ascii 字符时,我应该用反斜杠转义双引号、反斜杠和正斜杠。

我已经尝试过了,但是我得到了一个解析错误。

保险库文件中的行

test: "a<>?x\/x.,:;'-=_+b*()c&d{}\"e^f[]!@g%h\\i$j"

错误:

fatal: [127.0.0.1]: FAILED! => {"failed": true, "msg": "Syntax Error while loading YAML.\n\n\nThe error appears to have been in 'False': line 14, column 13, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\n(could not open file to display line)"}

最佳答案

Ansible 是 Python,因此使用 PyYaml。 PyYaml 实现 YAML 1.1,而不是 1.2。在 YAML 1.1 中,正斜杠不是可转义字符(在 1.2 中)。

不要转义正斜杠。它不是 YAML 中的特殊字符,因此不需要转义。由于 JSON 兼容性,YAML 1.2 仅为其添加了转义序列。

如果您想完全避开令人讨厌的转义问题,请使用 block 标量:

test: |-
a<>?x/x.,:;'-=_+b*()c&d{}"e^f[]!@g%h\i$j

你不需要逃避那里的任何东西。

关于yaml - 编码斜线/在 Ansible YAML 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38320077/

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