Символ | называется каналом. Канал является мощным средством, которое
позволяет вам брать вывод одной команды и использовать его в качестве ввода для
другой команды без создания временных файлов. Таким образом построенная
последовательность команд называется конвейером. Общий формат конвейера:
command1 | command2 | command3 ...
Вывод command1
используется как ввод для command2
. Вывод
command2
используется как ввод для command3
.
Чтобы понять насколько эффективен конвейер, рассмотрим 2 способа, которые дают одинаковый результат:
banner
владельцу david. Выполним сначала по первому методу:
banner
и перенаправьте ее вывод во временный файл:
banner happy birhday > message.tmp
mail
и в качестве ввода воспользуйтесь файлом
message.tmp:
mail david < message.tmp
rm message.tmp
banner happy birthday | mail david