我們在寫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
的時候要使用雙引號。