Проблема: из файла json прочитайте его с диска, добавьте поле в дочерний объект и распечатайте его обратно на диск.
Файл:
{
"name": "api",
"script": "index.js",
"instances": "1",
"env": {
"PORT": 3000
},
"env_production": {
"PORT": 3000
}
}
Итак, мне удалось передать его и добавить поле:
cat pm2.json | jq --arg key val '. as $parent | .env_production + {"abc": "123"}'
, которое возвращает дочерний объект с добавленным полем.Однако мне нужно обновить файл на диске.Поэтому мне также нужно распечатать весь объект (родитель).
Я могу сделать это, напечатав переменную $parent
.Но я не могу заставить его работать, так как он неизменен.
cat pm2.json | jq --arg key val '. as $parent | .env_production + {"abc": "123"}| $parent'
Вопрос: как я могу сделать это, чтобы переменная $parent
имела новое добавленное поле, чтобы я мог передать его обратно в исходный файл?