shell 输出json格式的内容
对于shell脚本的输出,如果要输出json格式的内容,我们可以借助python -m json.tool命令
比如
echo ‘{“name”:“zhangsan”, “age”:“18”}’ | python -m json.tool
或者,包含变量的话对大括号外面需要用双引号,且里面的双引号需要转义。
"{\"receiver\":[\"0011\"],\"content\":\"$1\"}"

首先,大括号外面必须有单引号’‘,因为在shell里面大括号{}不用单引号引起来就相当于一个匿名函数,
不加单引号就等价去echo 输出 {“name”:“zhangsan”, “age”:“18”}这个匿名函数的返回值。
其次,大括号里面的字符串,必须用"" 双引号,不能用’'单引号,否则会报错。
当大括号中带有变量时该怎么输出呢?
echo 后面的内容已经被’‘单引号引起来了,shell自身已经不可能再去解析变量了,那么只能我们职级手动去解析,这时候就想到eval命令,eval的一个功能就是将自己的参数变量进行展开,具体关于eval的命令,自行网上搜索吧,下面直接给出答案。
echo KaTeX parse error: Expected '}', got 'EOF' at end of input: …gsan", "age":""age""}’) |