Использовать вывод команды в качестве кода выхода
Для моих сценариев непрерывной интеграции я хочу проверить, не ветка 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, так что вы можете делать с ним все, что захотите, в том числе назначать его переменной.