У меня есть следующие json
{
"NODE_ENV" : "production",
"APP_URL":"test"
}
Я хотел бы заменить значения ключей, если они существуют в переменных среды , используя только команды unix , а не внешний пакет или библиотеку, подобную jq
.Например:
$ NODE_ENV=test
$ ./script_to_execute test.json
$ cat test.json
{
"NODE_ENV" : "test",
"APP_URL":"test"
}
Это мой script_to_execute file
#!/bin/bash
for env in $(compgen -v) ; do
sed -i 's/^\("$env":"\)[^"]*/\1${!env}/' $1
done
EDIT После получения ответов и комментариев я понял, что у меня нетЯ четко подчеркиваю мои потребности.Мне нужно выполнить эту задачу без использования внешних зависимостей, кроме включенных в альпийский дистрибутив.Мой файл json не будет вложенным и будет содержать простые значения, такие как простые строки и числа.