То, как вы используете CONFIG_FILE_PATH
в вас curl
линии, он не будет читать и проанализирован оболочкой, поэтому никакой подстановки переменных не происходит. Есть много способов обойти это, но я предпочитаю сделать свою собственную замену через sed
:
Шаблон JSON:
{ "queries": [ { "query": "select * from customer where account_name like '##CUST_NAME##'" } ] }
Автор сценария:
#!/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"