summaryrefslogtreecommitdiffstats
path: root/upstream/opensuse-leap-15-6/man1/unbuffer.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/opensuse-leap-15-6/man1/unbuffer.1')
-rw-r--r--upstream/opensuse-leap-15-6/man1/unbuffer.182
1 files changed, 82 insertions, 0 deletions
diff --git a/upstream/opensuse-leap-15-6/man1/unbuffer.1 b/upstream/opensuse-leap-15-6/man1/unbuffer.1
new file mode 100644
index 00000000..9e514cfd
--- /dev/null
+++ b/upstream/opensuse-leap-15-6/man1/unbuffer.1
@@ -0,0 +1,82 @@
+.TH UNBUFFER 1 "1 June 1994"
+.SH NAME
+unbuffer \- unbuffer output
+.SH SYNOPSIS
+.B unbuffer
+.I program
+[
+.I args
+]
+.SH INTRODUCTION
+.B 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.
+.nf
+
+ od -c /tmp/fifo | more
+
+.fi
+You will not see anything until a full page
+of output has been produced.
+
+You can disable this automatic buffering as follows:
+
+.nf
+
+ unbuffer od -c /tmp/fifo | more
+
+.fi
+Normally, unbuffer does not read from stdin. This simplifies use of unbuffer in some situations. To use unbuffer in a pipeline, use the -p flag.
+Example:
+.nf
+
+ process1 | unbuffer -p process2 | process3
+.fi
+.SH CAVEATS
+
+unbuffer -p may appear to work incorrectly if a process feeding input
+to unbuffer exits. Consider:
+.nf
+ process1 | unbuffer -p process2 | process3
+
+.fi
+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 finish
+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.
+
+.nf
+
+$ cat /tmp/abcdef.log | grep abc | cat
+abcdef
+xxxabc defxxx
+$ cat /tmp/abcdef.log | unbuffer grep abc | cat
+$ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | cat
+abcdef
+xxxabc defxxx
+$
+.fi
+.SH BUGS
+
+The man page is longer than the program.
+
+.SH SEE ALSO
+.I
+"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs"
+\fRby Don Libes,
+O'Reilly and Associates, January 1995.
+.SH AUTHOR
+Don Libes, National Institute of Standards and Technology