Чтение из трубы в скрипте Bash

У меня есть сценарий Bash, который только когда-либо будет вызываться через трубу. Мне любопытно, что лучший способ прочитать данные из трубы? Команда будет выглядеть так:

$ output_gen | process

Мой скрипт - процесс. Это не домашнее задание, но это учебное упражнение.

1 ответ

Когда ваша программа получает данные из конвейера, она получает через stdin. Для чтения из stdin используйте read builtin. Вот пример:

MyProg:

while read -r line; do 
 <something with="" "$line"="">
done
</something>

команда:

printf 'foo\nbar\n' | ./myprog

licensed under cc by-sa 3.0 with attribution.