Интерполировать переменные JQ в файле make - PullRequest
0 голосов
/ 11 марта 2020

Я использую эту команду для замены переменных jq переменными оболочки, но получаю эту ошибку

jq: error: ami_id_packer/0 is not defined at <top-level>, line 1:

Я использую этот код

replace :=  `cat terraform/terraform.tfvars.json | jq -c --arg ami "33" '.ami_id_packer=$ami' ` set_ami:
        @echo $(replace)

та же команда работает нормально когда я запускаю его в bash, я очень долго ломаю голову над этим, было бы здорово, если бы кто-то из сообщества мог помочь.

Заранее спасибо

1 Ответ

2 голосов
/ 11 марта 2020

я думаю, что это означает .ami_id_packer, а не ami_id_packer предположим, что ваш json выглядит примерно как

{
"ami_id_packer": ...
}

плюс, так как вы находитесь в Makefile, $ нужно экранировать, это должно быть $$ami

...