Resultado estranho de iniciar uma variável com a saída de 'git describe'

0

Por algum motivo, essa atribuição: OUT=$(git describe HEAD) é impressa no stdout (por exemplo): fatal: No names found, cannot describe anything.

Este é um comportamento normal? Por que isso não acontece com outros comandos?

    
por andrey g 15.07.2015 / 22:28

1 resposta

1

Isso é na verdade stderr output, não stdout . Ao executar um comando a partir de um terminal interativo, stdout e stderr estão configurados para ir para o terminal.

Se você quisesse a saída stderr em sua variável (o que você provavelmente não faria, mas de qualquer forma), redirecione-a para stdout desta forma:

OUT=$(git describe HEAD 2>&1)

Ou se você não quiser que a pessoa que está executando seu script veja a saída stderr , jogue-a fora assim:

OUT=$(git describe HEAD 2>/dev/null)
    
por 15.07.2015 / 22:57

Tags