ЭТО НЕ ПРОСТРАНСТВО ПРОТИВ.TABS ISSUE.
Я пишу несколько целей Make для последовательного запуска Terraform и Helm, и мне нужно захватить часть выходных данных Terraform, чтобы перейти к следующей цели Helm.Это то, что у меня так далеко:
TF := terraform
RND_ENV := deployment/envs/rnd
RND_PLAN := tfplan-rnd.out
RND_APPLY := tfapply-rnd.out
.PHONY: init-rnd plan-rnd apply-rnd deploy-rnd
init-rnd:
@$(TF) init $(RND_ENV)
plan-rnd: init-rnd
@$(TF) plan -out=$(RND_PLAN) $(RND_ENV)
apply-rnd: plan-rnd
$(TF) apply -no-color $(RND_PLAN) | tee $(RND_APPLY)
$(shell grep my_output_var $(RND_APPLY) | awk '{print $$3}' > .my_output_var)
@rm $(RND_APPLY)
# ...further steps omitted...
Еще раз, я могу заверить вас, что я использую TABS вместо SPACES в моем Makefile.Я проверил и перепроверил.Однако, когда я запускаю make apply-rnd
, он успешно запускает цель init-rnd
, успешно запускает цель plan-rnd
, но затем разбивает первую строку этой цели со следующим сообщением:
Makefile: 15: *** отсутствует разделитель.Стоп.
Я полагаю, это как-то связано с трубкой?Или, возможно, использование переменных?
В любом случае, эти же команды работают, когда я запускаю их вручную в Bash ... Мне просто нужно, чтобы они работали здесь, в этом файле Makefile.