【发布时间】:2015-11-08 01:37:15
【问题描述】:
我正在使用 [file lookup] 读取整个文件并将内容存储在变量中。我的剧本是这样的:
- name: Store foo.xml contents in a variable
set_fact:
foo_content: "{{ lookup('file', 'foo.xml' ) | replace('\n', '')}}"
所以上面的代码读取foo.xml文件并存储在变量中,但问题是当foo.xml中有换行符时,它还包括变量中的换行符。
我的foo.xml是这个文件:
<?xml version="1.0" encoding="utf-8"?>
<initialize_param>
<secrets>
<my_secret id="99">3VMjII6Hw+pd1zHV5THSI712y421USUS8124487128745812sajfhsakjfasbfvcasvnjasjkvbhasdfasgfsfaj5G8A9+n8CkLxk7Dqu0G8Jclg0eb1A5xeFzR3rrJHrb2GBBa7PJNVx8tFJP3AtF6ek/F/WvlBIs2leX2fq+/bGryKlySuFmbcwBsThmPJC5Z5AwPJgGZx</my_secret>
</secrets>
</initialize_param>
输出删除换行符 \n 但也包括制表符 \r & \t
我需要摆脱 \n ,也需要摆脱额外的格式(\r & \t),此外,在替换过滤器之后,我在触发数据库更新查询时遇到错误
stderr: /bin/sh: 1: cannot open ?xml: No such file
【问题讨论】:
-
我的猜测是 \n 只是调试输出的产物,并且在那里得到了正确处理。
-
不,它实际上将其存储为 \n ,然后当我将变量推送到数据库中时,它会引发错误:
-
你能澄清一下什么样的错误以及你是如何推送到数据库的吗?
-
stderr: /bin/sh: 2: 语法错误:意外换行
-
请使用完整信息编辑问题,包括您的脚本、数据库信息等。给定的错误消息没有提供更多信息。