sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #55394
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