1

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

cat /dev/somedevice | grep 'test' | sh

не будет выполнять команды в режиме реального времени.

Есть ли другой способ, который бы? С xargs что ли?

1 ответ1

2

Попробуйте --line-buffered сделать непрерывный поток:

cat /dev/somedevice | grep --line-buffered 'test' | sh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .