← Back to team overview

sslug-teknik team mailing list archive

Re: Swap stdout og stderr fra shell (dialog)

 

On Wed, 2002-10-02 at 22:34, Leif Neland wrote:
> 
> >
> > Hvad med
> >
> > SVAR=` dialog --inputbox .... 1>/dev/null 2>&1 `
> >
> > burde smide stdout væk - dernæst addere stderr til stdout (som nu er
> > tom). Evetuelt behøver man ikke at smide stderr væk til at begynde med
> > hvis man gerne vil have stderr og stdout blandet sammen.
> >
> Read my lips...
> stdout går til skærmen, og stderr skal til en variabel.
> Så det duer ihvertfald ikke.

Du vil, så vidt jeg forstår dig, have byttet om på stdout og stderr.

Det kan gøres på denne måde.

VAR=`dialog --inputbox .... 3>&2 2>&1 1>&3`

Det efterlader dog en åben fd3, men der er vist en måde kan kan lukke
den på også.  Det står nok i bash(1).

En lille demonstration af ombytningen:

-------------------------------------------------------
$ (echo stdout; echo stderr 1>&2)| cat -n
stderr
     1  stdout
$ (echo stdout; echo stderr 1>&2) 3>&2 2>&1 1>&3 | cat -n
stdout
     1  stderr
-------------------------------------------------------

-- 
René Seindal (rene@xxxxxxxxxx)              http://www.seindal.dk/rene/
 



References