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