Если у вас есть доступ к jq
, я бы рекомендовал хранить не JSON, а jq
фильтр, например
{"insecure-registries": ["\($ip):8123"]}
. Предположим, что предыдущий файл находится в файле с именем foo.jq
; затем, используя jq
, как указано ниже, производит JSON из фильтра.
$ myip=$(hostname -I | awk '{print $1}') # 192.0.2.42, e.g.
$ jq -nf foo.jq --arg ip "$myip"
{
"insecure-registries": [
"192.0.2.42:8123"
]
}
JSON само не имеет понятия подстановки, а bash
само по себе не является не очень подходит для таких замен.