Генерация/проверка контрольных сумм в одной строке?

Это кажется, что вывод от Вашей команды phpunit становится буферизированным (или PHP, оболочкой Bash, или grep). Существует несколько способов освободить буфер вывод так, чтобы это было более быстро реагирующим.

освободить буфер

Вы могли попытаться использовать unbuffer команда, которая является частью expect.

$ unbuffer phpunit tests/cases | grep -v --line-buffered "PHPUnit"

stdbuf

Можно попытаться использовать stdbuf команда для отключения буферизации.

$ stdbuf -i0 -o0 -e0 phpunit tests/cases | grep -v --line-buffered "PHPUnit"

Детали переключателей:

   -i, --input=MODE
          adjust standard input stream buffering

   -o, --output=MODE
          adjust standard output stream buffering

   -e, --error=MODE
          adjust standard error stream buffering

Так вышеупомянутые наборы буферизация для STDIN, STDOUT, STDERR обнуляется.

grep

Сам Grep мог бы быть преступником в буферизации вывода. Можно сказать этому буферизовать только строку в ценности времени вывода. (Этот, которого Вы уже упомянули/обнаружили, но я упоминаю это так, чтобы будущие средства просмотра этого Вопросы и ответы поняли, что там буферизует там также).

$ phpunit tests/cases | grep -v --line-buffered "PHPUnit"

3
29.04.2014, 00:54
1 ответ
[118175]: [12151] С помощью `ястребика:[12152]
4
27.01.2020, 21:20

Теги

Похожие вопросы