Мне нужно использовать правильный массив bash для создания массива JQ. Я не могу использовать ,
для разделения, так как мне нужно использовать правильный массив bash в forloop
Мне нужно создать массив json с использованием массива bash и передать это к --jsonarg.
Это обходной путь, который я использовал для перехода к запросу 1.
group_list=("dummy group 1", "dummy group 2");
jsonarrray=$(echo ${group_list[@]} | jq -R 'split (" ")');
output:
[ "dummy group 1", "dummy group 2" ]
Но мне нужно найти способ использовать правильный массив bash без запятой.
group_list=("dummy group 1" "dummy group 2");
# Cannot use SPLIT because it won't produce separate values
jsonarrray=$(echo ${group_list[@]} | jq -R 'split (" ")');
output:
[ "dummy group 1 dummy group 2" ]
Вот запрос, который я хочу создать. Запрос 1:
query_data=(jq -n --argjson groupsName "$jsonarrray" \
'{
jsonrpc: "2.0",
method: "hostgroup.get",
params: {
output: ["name", "groupid"],
filter: {"name": $groupsName}
},
"auth": "6f38cddc44cfbb6c1bd186f9a220b5a0",
"id": 2
}');
Окончательный результат запроса должен выглядеть следующим образом
{
"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"output": [
"name",
"groupid"
],
"filter": {
"name": [
"dummy group 1",
"dummy group 2"
]
}
},
"auth": "6f38cddc44cfbb6c1bd186f9a220b5a0",
"id": 2
}