У меня есть файл workflow.log в формате json. Я хочу обновить файл json с обновленными значениями с параметрами, предоставленными во время выполнения. Например, я хочу обновить «XXXXXX» с некоторым значением, передаваемым через параметр, такой как «ZZZZZZZ»,Я создал сценарий оболочки, хранящий содержимое файла в переменной с именем WKFL_DET и использующий его в команде curl.Теперь я не уверен, что делать дальше, чтобы использовать переменные $ p_id и $ p_file_name.
workflow.log
"Workparams": [
{
"$id": "12",
"WorkflowParmId": 84232,
"WorkflowId": 9766,
"Name": "SYS_FILE_DT",
"Value": "2018-09-28"
},
{
"$id": "13",
"WorkflowParmId": 221910,
"WorkflowId": 9766,
"Name": "V_FILE_NAME",
"Value": "XXXXXX"
},
{
"$id": "14",
"WorkflowParmId": 221908,
"WorkflowId": 9766,
"Name": "V_ID",
"Value": "1111"
}
curl.sh
#!/bin/sh
export p_id=$1
export p_file_name=$2
function func
{
WKFL_DET=`cat ${workflow.log}`
curl -X PUT -H '"$HEADER_ACCEPT"' -H ${HEADER_JSON_CONTENT} -H Authorization:'Bearer AAEAAJ038MNIYpxfgQvsjk4eC4Hx2' -d "${WKFL_DET}" -o ${V_WF_PARAMS}_new http://someaddress.com/workflows/646
}
func
ожидаемый результат должен быть:
workflow.log
"Workparams": [
{
"$id": "12",
"WorkflowParmId": 84232,
"WorkflowId": 9766,
"Name": "SYS_FILE_DT",
"Value": "2018-09-28"
},
{
"$id": "13",
"WorkflowParmId": 221910,
"WorkflowId": 9766,
"Name": "V_FILE_NAME",
"Value": "ZZZZZZ" ------- from parameter $p_file_name
},
{
"$id": "14",
"WorkflowParmId": 221908,
"WorkflowId": 9766,
"Name": "V_ID",
"Value": "5555" ----- from parameter $p_id
}
Надеюсь, я объяснил свою проблему.