nobuf — run a program without stdio block buffering


nobuf {subprogram} {args...}


nobuf subprogram is similar to subprogram with one exception. If subprogram uses stdio, it will use block buffering rather than line buffering when its output is redirected; nobuf subprogram will always use line buffering.

Internally, nobuf obtains a new pty and runs subprogram under it, transparently forwarding input and output. nobuf initializes the pty to remote mode, where tty processing is disabled, input is flow-controlled, and end-of-file is passed through to subprogram.

nobuf is a synonym for ptyget ptyio -r ptyspawn -23x . ptyspawn(1) options may be used with nobuf.


nobuf was originally part of Daniel J. Bernstein's ptyget toolset in 1996.


Original code and documentation by Daniel J. Bernstein. Documentation modernizations by Jonathan de Boyne Pollard.