Использовать вывод команды в качестве кода выхода

Для моих сценариев непрерывной интеграции я хочу проверить, не ветка git не синхронизирована с веткой master. Поэтому я использую

git rev-list --left-right --count master...my-branch-name

Это вернет что-нибудь. лайк

1    3

(3 коммитов впереди мастера, 1 сзади)

Добавление | cut -f1 даст мне только первый номер (фиксирует за мастером).

Теперь я хочу выйти из скрипта только с этим номером, потому что 0 коммитов - это успех, все остальные должны выдавать ошибку.

Как я могу это сделать? Я старался

exit 'git rev-list --left-right --count master...my-branch-name | cut -f1'

но это поднимает

/bin/bash: строка 66: выход: git rev-list --left-right --count master...my-branch-name | cut -f1: требуется числовой аргумент

Есть ли лучшая практика для этого?

1 ответ

Решение

Просто измените свою строку:

exit 'git rev-list --left-right --count master...my-branch-name | cut -f1'

чтобы:

exit `git rev-list --left-right --count master...my-branch-name | cut -f1`

Что-нибудь между ` кавычки будут выполнены и возвращены в скрипт bash, так что вы можете делать с ним все, что захотите, в том числе назначать его переменной.

Другие вопросы по тегам