Каковы возвращаемые коды состояния `cdk diff`

#amazon-web-services #aws-cdk

#amazon-web-services #aws-cdk

Вопрос:

Я пытаюсь организовать следующие выполняемые команды на основе результата команды cdk diff . Вот так:

 if cdk diff; then
  echo has no differences
else
  echo has differences
fi
 

Хотя это всегда печатается, различий нет. Это сбивает меня с толку, потому что, согласно документам aws-cdk , эта команда возвращает ненулевое значение, если обнаружены какие-либо различия.

Комментарии:

1. Ваш приведенный выше код в порядке — убедитесь cdk diff , что на самом деле есть различия

2. Он имеет. Я на 100%, так как фактические различия печатаются stdout прямо перед тем, как не имеет различий

3. В какой оболочке вы это запускаете?

4. zsh. Можете ли вы указать мне тот, который работает, чтобы я мог проверить?

5. Какой код возврата вы видите?

Ответ №1:

Добавление флага —fail должно исправить это для вас

 if cdk diff --fail; then
  echo has no differences
else
  echo has differences
fi
 

Смотрите Документацию «Справочник по инструментарию» внизу этого URL: https://docs.aws.amazon.com/cdk/v2/guide/cli.html .

В документации для CDK diff указано следующее:

       --fail   Fail with exit code 1 in case of diff   [boolean] [default: false]