sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #48305
RE: returværdi fra program, ...og tee
> -----Original Message-----
> From: Kristian Duus Østergaard [mailto:kristian@xxxxxxxxxxxx]
>
> On Wed, 2002-02-27 at 10:59, Kristian.Hogh@xxxxxx wrote:
> > Hej SSLUG'er
> >
> > Så jeg prøvede lige ....
> > $ ( program ; export retval=$? ) | tee fil
> > $ echo $retval
> > men $retval er ikke defineret
> >
> >
> >
> Hej,
>
> Problemet er at når du sætter paranteserne starter du en sub-shell så
> hvad du måtte sætte af variable inden i paranteserne er lokale og kan
> derfor ikke ses uden for. Nu ved jeg ikke hvad du vil bruge
> returværdien
> til - men hvis du bare vil se den kan du gøre følgende :
> $ ( program ; let retval=$? ; echo $retval 1>&2 ) | tee fil
>
> Så får du printet returværdien på stderr.
Jeg kan da også blive ved ......
Jeg tester på returværdien med if bagefter.
Jeg kører i virkligheden:
if test -n $INTERACTIVE
then
echo "Please insert 90m DAT cartridge in tape drive /dev/rmt/$TAPE \c"
echo "and hit RETURN ... \c"
read REPLY
$CMD $ARG /dev/rmt/$TAPE 2>&1 | tee $LOGFILE
RETVAL=$?
else
$CMD $ARG /dev/rmt/$TAPE > $LOGFILE 2>&1
RETVAL=$?
fi
if test $RETVAL -eq 0
then
echo bla, bla
....
else
if ....
$CMD, $ARG mm. har selvfølgelig fornuftige værdier