Перенаправлення введення і виведення в Терміналі на Mac
З командного рядка можна перенаправити введення і виведення з команди у файл або в іншу команду.
Перенаправляйте виведення з команди, якщо ви хочете перехопити результати виконання команди і зберегти їх у файлі для подальшого використання. Аналогічно, переспрямовуйте введення з файлу в команду, якщо потрібно використати попередньо задані вхідні дані, а не вводити їх вручну.
Для перенаправлення введення і виведення використовуйте такі символи:
Перенаправлення | Опис | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
> | Використовуйте праву кутову дужку для перенаправлення виведення команди у файл. | ||||||||||
< | Використовуйте ліву кутову дужку для використання вмісту файлу як введення для команди. | ||||||||||
>> | Використовуйте дві праві кутові дужки для додавання виведення команди у файл. |
Крім перенаправлення файлів можна перенаправляти виведення з однієї команди на введення в іншу за допомогою символу вертикальної риски або конвеєра. У такий спосіб можна комбінувати команди для застосування складніших версій тих самих команд.
Наприклад, ця команда передає форматований вміст man-сторінки zsh
в інструмент grep
, який шукає в ньому рядки зі словом commands. Результатом буде список рядків визначеного тексту замість всієї man-сторінки.
% man zsh | grep commands
До стандартних конвеєрів належать:
stdin: стандартний вхідний конвеєр, з якого команди отримують введення. Стандартно вхідні дані вводяться з інтерфейсу командного рядка. Можна перенаправити виведення з файлу чи інших команд до stdin.
stdout: стандартний вихідний конвеєр, куди команди надсилають виведення. Стандартно виведення команди надсилається до командного рядка. Можна перенаправити виведення з командного рядка до інших команд чи інструментів.
stderr: стандартний конвеєр помилок, куди надсилаються повідомлення про помилки. Стандартно помилки відображаються у командному рядку поруч зі стандартним виведенням.
Докладніше про перенаправлення читайте на man-сторінці zsh.