Перенаправить sterr в subshell на стандартный вывод в текущей оболочке в bash-скрипте
У меня есть подоболочка, выполняющая функцию:
local thing=$( doFunc )
doFunc
отправляет вывод журнала в stderr
(2) и 'thing
присваивается doFunc
выход на stdout
(1).
Как я могу запустить эту строку, но распечатать stderr
от скорлупы до stdout
в текущей оболочке?
1 ответ
Решение
Вы можете сначала сделать копию стандартного вывода на другом FD, а затем перенаправить на него как
exec 3>&1
local thing=$(doFunc 2>&3)