← Back to team overview

sslug-teknik team mailing list archive

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