{ var="$( ls / | tee >(cat - >&2) )"; } 2>&1; echo -e "*** var=$var"
Эта команда выполняет следующее:
1. ls /: Выводит список файлов и каталогов в корневом каталоге.
2. tee >(cat - >&2): Позволяет записать вывод команды ls / в переменную var и одновременно вывести его на стандартный вывод (stdout).
3. { var="$(...) } 2>&1: Захватывает вывод, который идет на stderr, и сохраняет его в переменной var.
4. echo -e "*** var=$var": Выводит сообщение с содержимым переменной var.
Альтернатива: Вы можете использовать команду var=$(ls /) для сохранения вывода в переменную без одновременного вывода на stdout и stderr.
