Трубопроводи
Трубопровід - це послідовність однієї або декількох команд, розділених одним з операторів управління | або | &. Формат трубопроводу такий:
[time [-p]] [ ! ] command [ | or |& command2 ... ]
Стандартний вихід команди підключений по трубі до стандартного входу команди2. Це з'єднання виконується перед будь-якими перенаправленнями, вказаними командою (див. ПОНЯТТЯ нижче). Якщо | & використовується, стандартна помилка команди підключається до стандартного вводу command2 через трубу; це скорочення для 2> & 1 |. Це неявне перенаправлення стандартної помилки виконується після будь-яких перенаправлень, визначених командою.
Статус повернення трубопроводу - це стан виходу останньої команди, якщо тільки не включена опція pipefail. Якщо включено pipefail, стан повернення конвеєра - це значення останньої (самої правої) команди для виходу з ненульовим статусом, або нуль, якщо всі команди успішно виходять. Якщо зарезервоване слово! перед трубопроводом, статус виходу цього трубопроводу є логічним запереченням статусу виходу, як описано вище. Оболонка чекає, коли всі команди в трубопроводі завершаться перед поверненням значення.
Якщо зарезервоване час передує конвеєру, про закінчується, а також про споживчий та системний час, споживаний його виконанням, повідомляється про закінчення конвеєра. Параметр -p змінює вихідний формат у форматі, визначеному POSIX. Змінна TIMEFORMAT може бути встановлена у рядку формату, який визначає, як повинна відображатися інформація про час; дивіться опис TIMEFORMAT в розділі "Оболонки змін" нижче.
Кожна команда в конвеєрі виконується як окремий процес (тобто в підпакеті).
type time
щоб побачити, що це таке.