Ответ 1
Он заменяет текущий сеанс bash
другим и записывает вывод всех команд в script.log
.
Таким образом, вы можете обычно использовать свою оболочку bash
, и вы не увидите никакой разницы (в основном), но все выходные будут отображаться на вашем экране и в script.log
.
Из exec manpages:
Если задана команда, она заменяет оболочку без создания нового процесса. Если команда не указана, перенаправление может использоваться для изменения текущей среды оболочки.
Магия >(tee -a script.log)
создает канал, поэтому вместо записи в файл, подобный нам (в этом случае >> script.log
), мы записываем в процесс tee -a script.log
, который делает то же самое. По какой-то причине без ведома, использование >>
не работает, но запись в именованный канал работает. Источник здесь