type
status
date
slug
summary
tags
category
icon
password
1.问题
text类型钉钉告警,官方模板提供的文本是一行文字,如果需要${content}变量来替换这一行文字呢?什么都不处理会导致JSON解析异常,无法发出消息。
${content}模板,含空格、换行 hello world! 今天天气不错!
{ "at": { "atMobiles":[ "180xxxxxx" ], "atUserIds":[ "user123" ], "isAtAll": false }, "text": { "content":"我就是我, @XXX 是不一样的烟火,'${content}'" }, "msgtype":"text" }
2.解决办法:
2.1 换行符用\n替换
cat ${content}|tr "\\n" ','|sed 's/,/\\\\n/g' >${new_content}
2.2 空格用Unicode编码替换
半角空格(英文符号)
\u0020
。空格尝试过两种方式,第一种不处理,最终的空格被解析成‘’;第二种是替换成\b,结果空格被吃了,“a b c”成了“abc”sed -i 's/ /\\\\u0020/g' ${new_content}