еременная @bash захватывает stderr и stdout отдельно или получает выходное значение [duplicate]
На этот вопрос уже есть ответ:
Захватить stdout и stderr в разные переменные 13 ответовМне нужно зафиксировать вывод и ошибку команды в моем bash-скрипте и узнать, была ли команда выполнена успешно.
В данный момент я снимаю как:
output=$(mycommand 2>&1)
Затем мне нужно проверить значение выхода mycommand. Если это не удалось, мне нужно что-то сделать с выводом, если команда выполнена успешно, мне не нужно трогать вывод.
Так как я фиксирую вывод, проверяю $? всегда равно 0, поскольку bash удалось записать вывод в переменную.
Это очень чувствительный ко времени сценарий, поэтому мы стараемся избегать более медленных решений, таких как вывод в файл и повторное его чтение.
Если бы я мог записать stdout в одну переменную и stderr в другую, это решило бы мою проблему, потому что я мог просто проверить, была ли переменная ошибки пустой или нет.
Благодарность