Выполнять команды из канала в реальном времени
Если у меня есть труба, как cat /dev/somedevice | grep 'test' что вывод команд, как например echo 'test 17', команды появляются в реальном времени (каждый раз /dev/somedevice доставляет какую-то строку). Однако если я передам команды shони не будут вызваны немедленно из-за буферизации канала. Так
cat /dev/somedevice | grep 'test' | sh
не будет выполнять команды в режиме реального времени.
Есть ли другой способ, который бы? С xargs или что-то?
1 ответ
Пытаться --line-buffered сделать непрерывный поток:
cat /dev/somedevice | grep --line-buffered 'test' | sh