Unix/Linux Go Back    

CentOS 7.0 - man page for unbuffer (centos section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

UNBUFFER(1)									      UNBUFFER(1)

       unbuffer - unbuffer output

       unbuffer program [ args ]

       unbuffer  disables the output buffering that occurs when program output is redirected from
       non-interactive programs.  For example, suppose you are watching the output from a fifo by
       running it through od and then more.

	    od -c /tmp/fifo | more

       You will not see anything until a full page of output has been produced.

       You can disable this automatic buffering as follows:

	    unbuffer od -c /tmp/fifo | more

       Normally, unbuffer does not read from stdin.  This simplifies use of unbuffer in some sit-
       uations.  To use unbuffer in a pipeline, use the -p flag.  Example:

	       process1 | unbuffer -p process2 | process3

       unbuffer -p may appear to work incorrectly if a process feeding input to  unbuffer  exits.
	       process1 | unbuffer -p process2 | process3

       If  process1  exits, process2 may not yet have finished.  It is impossible for unbuffer to
       know long to wait for process2 and process2 may not ever finish, for example, if it  is	a
       filter.	 For  expediency, unbuffer simply exits when it encounters an EOF from either its
       input or process2.

       In order to have a version of unbuffer that worked in all situations, an oracle	would  be
       necessary.  If you want an application-specific solution, workarounds or hand-coded Expect
       may be more suitable.  For example, the following example shows how to allow grep to  fin-
       ish  processing when the cat before it finishes first.  Using cat to feed grep would never
       require unbuffer in real life.  It is merely a placeholder for some imaginary process that
       may  or	may  not  finish.   Similarly, the final cat at the end of the pipeline is also a
       placeholder for another process.

       $ cat /tmp/abcdef.log | grep abc | cat
       xxxabc defxxx
       $ cat /tmp/abcdef.log | unbuffer grep abc | cat
       $ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | cat
       xxxabc defxxx

       The man page is longer than the program.

       "Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" by Don  Libes,
       O'Reilly and Associates, January 1995.

       Don Libes, National Institute of Standards and Technology

					   1 June 1994				      UNBUFFER(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 03:16 PM.