Это, вероятно, легче понять, если вы использовали в tee
первую очередь. Этот полезный старый инструмент принимает стандартный ввод и записывает в несколько файлов, плюс стандартный вывод. Последующий:
echo "Hello world" | tee one two
Создаст два файла с именем one
и two
, оба, содержащие строку Hello world
. Он также будет распечатан на ваш терминал.
Теперь pee
выполняет аналогичную функцию, но вместо перенаправления вывода на несколько файлов он перенаправляет на несколько вторичных команд, а именно конвейеры. Он немного отличается от tee
того, что он не отправляет исходный stdin на stdout, потому что не имеет смысла объединять его с выводом вторичных команд. Следующий очень простой пример:
echo "Hello world" | pee cat cat
Выводит строку Hello world
на ваш терминал дважды. Это потому, что каждый из двух экземпляров cat
получает стандартный вывод и выполняет то cat
, что делает, то есть печать.
stdin
и приведения клонов к каждому сценарию, объединяющему шаблон имени файла, может ли это сделать чистый bash? AFAIU это расширило бы звездочку внутри скобок, что-то вродеtee >(app1 app2 app3 app4)
этого не>(app1) >(app2) >(app3) >(app4)
то, что показывает ваш ответ