Use a saída do comando como código de saída

6

Para meus scripts de Integração Contínua, quero verificar se a ramificação git não está sincronizada com a ramificação principal. Por isso eu uso

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

Ele retornará sth. como

1    3

(3 comete antes do mestre, 1 atrás)

Adicionar | cut -f1 me dará apenas o primeiro número (commits por trás do master).

Agora eu quero sair do script apenas com esse número porque 0 commits behind é sucesso, todos os outros devem dar um erro.

Como posso fazer isso? Eu tentei

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

mas isso aumenta

/bin/bash: line 66: exit: git rev-list --left-right --count master...my-branch-name | cut -f1: numeric argument required

Existe uma prática recomendada para isso?

    
por Sven Reuter 14.08.2017 / 16:17

1 resposta

5

Basta alterar sua linha:

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

para:

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

Qualquer coisa entre as aspas ' será executada e retornará ao script bash, para que você possa fazer o que quiser com ele, incluindo atribuí-lo a uma variável.

    
por 14.08.2017 / 16:40