Можно ли делать выборки или опросы дескрипторов файлов в bash? Суть того, что я пытаюсь сделать, заключается в следующем:
mkfifo fifo
exec 3<fifo
PROMPT_COMMAND="while read -t 0 line; do echo \$line; done <&3"
Exec существует, чтобы держать трубу открытой (иначе она была бы закрыта в конце каждой петли). Теоретически, это будет выводить все, что входит в канал перед каждым приглашением. Однако, похоже, что он не работает, так как с -t0 он даже не пытается читать.
-t 1
работает как брелок, но это вызывает задержку в одну секунду при каждом запросе, а это не то, что я хочу.
Оптимальным было бы сделать выбор с тайм-аутом .2 секунды (если я выполняю команду, которая, в свою очередь, вызывает запись чего-либо в канал, неизбежно будет небольшая задержка, поскольку я работаю с асинхронными сообщениями ), и с этой задержкой я могу жить. Нулевой тайм-аут, вероятно, будет в порядке, тогда я просто создам программу с задержкой менее секунды.
Есть идеи?