Я хотел бы захватить вывод подоболочки в переменную и одновременно распечатать его на экране терминала. Можно ли сделать это, назначив подоболочку переменной и отправив в нее stdout и stderr? Следующий скрипт не работает.
$ cat test
#!/bin/bash
echo "Command before the redirected subshell"
OP=$(
echo "Command in the redirected subshell 1"
echo "Command in the redirected subshell 2"
echo "Error in the redirected subshell" > /dev/stderr
) 2>&1 | tee /dev/tty
echo "Command after the redirected subshell"
echo "OP=$OP"
В подоболочке нет вывода команд (кроме перенаправленного на stderr), и $ OP представляется строкой нулевой длины.
Спасибо за любую идею!