Странный результат инициации переменной с выводом 'git description'

По какой-то причине это назначение: OUT=$(git describe HEAD) печатает на стандартный вывод (например): fatal: No names found, cannot describe anything.

Это нормальное поведение? Почему этого не происходит с другими командами?

1 ответ

Решение

Вот собственно stderr выход, а не stdout, При запуске команды из интерактивного терминала оба stdout а также stderr настроены на переход в терминал.

Если бы вы хотели stderr вывод в вашей переменной (что вы, вероятно, не, но в любом случае), перенаправьте его на stdout как это:

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

Или если вы не хотите, чтобы человек, выполняющий ваш скрипт, видел это stderr выходной, выбросьте это так:

OUT=$(git describe HEAD 2>/dev/null)
Другие вопросы по тегам