Выполнять команды из канала в реальном времени
Если у меня есть труба, как 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