Некоторые команды, например, l2ping буферизируют stdout, тем самым мешая использованию пайпов (перенаправлений вывода) засчет того, что вывод не перенаправляется в “live” режиме, а буферизируется и передается следующей команде только после выполнения/остановки команды.
Отключить stdout buffering для конкретной команды можно с помощью stdbuf:
stdbuf --output=0 commandstdbuf -o 0 command# можно отключить буфферизацию для всего (stdin, stdout, stderr)stdbuf -i0 -o0 -e0 command
or w/ unbuffer:
unbuffer l2ping
Еще о случаях использования в пайпах
Иногда может понадобится отключить и для следующей команды буфферизацию в пайпах: