У меня есть объект json, который я читаю с помощью jq и пытаюсь написать некоторые свойства с локальными переменными.
Я устанавливаю локальную переменную в моем сценарии оболочки следующим образом:
LOCATION_NAME="stag5"
DOMAIN_LOCATION="example.io"
Затем я создаю следующую переменную:
echo "Build New ID"
DOMAIN_NAME_BUILT="$LOCATION_NAME.$DOMAIN_LOCATION.s3-website.us-east-2.amazonaws.com"
Я пытаюсь прочитатьmy distconfig.json
file и установите свойства с помощью указанных выше переменных.
tmp=$(mktemp)
jq '.Origins.Items[0].DomainName = "$DOMAIN_NAME_BUILT"' distconfig.json > "$tmp" && mv "$tmp" distconfig.json
Команда работает, но она передает переменную в виде строки в мой новый файл JSON.Поэтому, когда я просматриваю свойство в новом созданном файле json, оно сохраняется как "$DOMAIN_NAME_BUILT"
вместо stag5.example.io.s3-website.us-east-2.amazonaws.com
Как можно вместо передачи строки передать переменную для $ DOMAIN_NAME_BUILT и записать ее вновый файл json