LINUX BASH : keep the order in STD* output tunnels

Posted by Mister Bark, 10-31-2012, 11:17 AM
Hi! This will make a file "test" : ... and not : Why and how make sure to keep the order of all STD*? (I guess it's related to the buffers, that are probably separated for each output) Please note that my question concerns bash, not perl (that program is just a test) THANKS!

Posted by FINESEC, 10-31-2012, 11:59 AM
Turn autoflashing on: perl -e '$| = 1; print("a\n"); sleep(2); warn("WARN\n"); print("b\n");' >> test 2>&1

Posted by Mister Bark, 10-31-2012, 12:01 PM
I know, thanks. But as I said : "Please note that my question concerns bash, not perl (that program is just a test)" And that problem is related to bash because if you execute my perl test without redirecting to a file, it is in order in the terminal. Last edited by Mister Bark; 10-31-2012 at 12:06 PM.

Posted by FINESEC, 10-31-2012, 12:16 PM
Sorry, I didn't read the last line ;-) It's not possible in bash afaik. You might try using stderr only or give this tool http://expect.sourceforge.net/example/unbuffer.man.html a try.

Posted by Mister Bark, 10-31-2012, 12:44 PM
ah, that's interesting thanks But I cannot find the program on the net nor in my distribs!

Posted by FINESEC, 10-31-2012, 01:31 PM
Hmm, try this one: http://man7.org/tlpi/code/online/dis...nbuffer.c.html

Posted by Mister Bark, 10-31-2012, 03:00 PM
thanks! I may look a bit stupid but... I've compiled many programs from source (configure and other stuff) but not from a single c file... how am I supposed to build that?

Posted by FINESEC, 10-31-2012, 03:19 PM
Download and put all files to the same directory: http://man7.org/tlpi/code/online/dis...nbuffer.c.html http://man7.org/tlpi/code/online/dis...ty_fork.h.html http://man7.org/tlpi/code/online/dis...ty_fork.c.html http://man7.org/tlpi/code/online/dis...nctions.h.html http://man7.org/tlpi/code/online/dis...nctions.c.html http://man7.org/tlpi/code/online/dis...lpi_hdr.h.html compile project using this command: gcc *.c Lemme know if that doesn't work.

Posted by FINESEC, 10-31-2012, 03:44 PM
http://finesec.com/files/unbuffer.tar.gz <- all files are in this package

Posted by Mister Bark, 10-31-2012, 05:39 PM
hehe thanks AWESOME

Posted by MattF, 11-01-2012, 04:00 AM
It isnt bash nor perl When using stdio stderr isnt buffered, stdout is buffered how so is depending on what its talking to, if its a file or pipe then its block buffered, if its a tty i.e. is_atty(fd) then its line buffered. This can be manipulated to some extent but a generally a concern that outputting app shouldnt do. I suspect unbuffer is injecting it own LD_PRELOAD so its doesnt do buffering, Im going to explore more... Loads of docs out there on stdio buffer that explain stuff better and more thoroughly

Posted by Mister Bark, 11-01-2012, 09:14 AM
thanks for the explanation

Was this answer helpful?

 Print this Article

Also Read

Staggering Growth at Limestone Networks Spurs Innovation

Posted by Kyle - Limestone, 05-26-2010, 02:59 PM Limestone Networks, a dedicated server...

Simple Apache problem

Posted by Jinovich, 03-28-2008, 10:26 AMBasically, set up a server it has no Domain only IP, it...

Looking for a Shell Script! :)

Posted by dwscenter, 01-14-2008, 01:25 AMFirst off I want to apologize if I posted this in the...

How is freestylehosting.com?

Posted by Shazan, 08-30-2002, 06:13 AMHello everyone! I'd like to know if freestylehosting.com...

Has anyone Xperience with BOTH MCHost and Voxtreme?

Posted by cyberdao, 07-20-2002, 10:26 PMHas anyone (had) accounts with both MCHost and Voxtreme?...