关于在JSON中引用shell变量的小技巧

我们在写shell脚本的时候在有些情况下是有在脚本中处理json的需求的,这里介绍下将shell变量传入json中的小技巧。

#!/bin/bash

VERSION=3.5.7
TICKET=6f78d5386177c1a94fd68b25b5c3bb3a
JSON="{"ticket": "${TICKET}", "result": 2001, "data": "${VERSION}"}"
curl -u 'testuser:654321' -d "${JSON}" 'http://192.168.6.166/api/webhook?src=docker'

从上面的脚本中我们可以看出在json体中要引用shell的变量需要对json体中的双引号进行转义: "${TICEKT}" ,以及在 curl -d 指定的 body 的时候要使用双引号。