Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] stdin/stderr redirection under Solaris



Quoting Shin MICHIMUKO <smitimko@example.com>:

> The following command may answer to your question.
>
> $ man tee
>
> But if you are using bash on Linux, you can use this kind of trick:
>
> $ mkfifo fifo1
> $ mkfifo fifo2
> $ ./cmd > fifo1 2> fifo2 & cmd1 < fifo1 & cmd2 < fifo2 &

Or, if you prefer to avoid fifos:

test.sh:
  #! /bin/sh
  echo "standard output" >&1
  echo "STANDARD ERROR" >&2

This command will do what you want, I guess (at least in bash):
$ (./test.sh | tr a-z A-Z) 3>&1 1>&2 2>&3 | tr A-Z a-z

The first "tr" receives stdout as input, and the second one receives
stderr as input.
Take care of one thing: The current state of stdout/stderr is messed up
then. You may want to restore them, in case you have another pipe
following, for instance:
$ (((./test.sh | tr a-z A-Z) 3>&1 1>&2 2>&3 | tr A-Z a-z) 3>&1 1>&2 2>&3)

br.








Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links