我们在写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
的时候要使用双引号。