Я ' Я хочу отправить результат ряда команд в переменную:
variable=$(a | few | commands)
Однако подстановка команды сбрасывает PIPESTATUS
, поэтому я не могу проверить, где что-то пошло не так, постфактум. Одно из решений - использовать mktemp
и временно поместить туда результат:
variable_file=$(mktemp) || exit 1
a | few | commands > $variable_file
exit_codes="${PIPESTATUS[*]}"
variable=$(<$variable_file)
Есть ли более элегантное решение?