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