Die Art und Weise, wie Sie sie CONFIG_FILE_PATH
in Ihrer curl
Zeile verwenden, wird von der Shell nicht gelesen und analysiert, sodass keine Variablenersetzung erfolgt. Es gibt viele Möglichkeiten, dies zu umgehen, aber ich bevorzuge meine eigene Ersetzung über sed
:
JSON-Vorlage:
{ "queries": [ { "query": "select * from customer where account_name like '##CUST_NAME##'" } ] }
Skript:
#!/bin/bash #CONFIG_FILE_PATH is the path of the json file as argument while running the script CONFIG_FILE_PATH=$1 CONFIG_FILE=$(cat "$CONFIG_FILE_PATH" | sed "s/##CUST_NAME##/$2/g") curl -X POST -i -H "Accept: application/json" -H "Content-Type:application/json" --data-binary "$CONFIG_FILE" "http://localhost:8080/service"