/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Script problemer
Fra : Per Jørgensen


Dato : 24-10-07 09:00

Hey Gruppe.

Jeg har lavet et lille script på mit arbejde der skal sende en fax
afsted, men uanset hvad modtager det OK - uanset om fax'en fejler eller
ej. Er der nogle der kan se hvad jeg lige har gjort galt - da jeg har
gloet mig blind på problemet

###############################################################################
###############################################################################

#!/bin/bash
#*************************************************************
#*
#* mefax
#*
#* Dette script sletter de TIFF filer fax programmet laver,
#* ud fra den ps fil den før som argument
#*
#* $1 = send
#* $2 = telefon nr
#* $3 = sti + filenavn på ps filen
#* $4 = M nummer
#*
#* exit code 1 = ikke nok parameter
#* exit code 2 = error i fax program
#*
#* mdr = den aktuelle måned
#* aar = det aktuelle år
#*
#*
#* sti /home/mera/bin/mefax
#*
#*************************************************************

mdr=`date|tr -s ' '|cut -d' ' -f2` # udtrækker mdr + aar til filnavn
aar=`date|tr -s ' '|cut -d' ' -f6`

echo fax $1 $2 $3 >> /tmp/faxlog


if test $# -lt 3 # checker om der er nok parameter min 3
then
exit 1
fi

fax $1 $2 $3 # kalder fax med parameter

if test $? -gt 0 # checker om fax program returnere error
then
rm -f -- $3.* # sletter de TIFF filer fax har lavet
echo MEFAX : `date` $? FAX NR : $2 .....FEJL $4 >>
/var/log/fax/faxlog-$mdr-$aar
exit $? # exit med error code 2
else
rm -f -- $3.* # sletter de TIFF filer fax har lavet
echo MEFAX : `date` FAX NR : $2 .....sent $4 >>
/var/log/fax/faxlog-$mdr-$aar
fi

################################################################################
################################################################################

Uanset hvad modtager systemet ok - og derfor tror alle at mailen er
sendt. Desværre er dette ikke sket siden 14/9 selvom der meldes OK retur.

En lille log der beskriver dette:
efax: 08:16 waiting 2.0 s
efax: 08:16 .982 [<CR><LF>OK<CR><LF>]
efax: 08:16 response "OK"
efax: 08:17 command "Z"
efax: 08:17 waiting 5.0 s
efax: 08:17 .102 [<CR><LF>OK<CR><LF>]
efax: 08:17 response "OK"
efax: 08:17 read HDB pid 15970 [ 15970<LF>] from
/var/lock/LCK..modem (our pid)
efax: 08:17 removed lock file /var/lock/LCK..modem
efax: 08:17 done, returning 2 (unrecoverable error)

Så hvorfor returnerer den kun OK - Eller er det mig der har lavet en
total bøf ..


--


Med Venlig Hilsen

Per Jørgensen

Linuxbruger 393221
/\/o place like 127.0.0.1


 
 
Klaus Alexander Seis~ (24-10-2007)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 24-10-07 09:09

Per Jørgensen skrev:

> fax $1 $2 $3 # kalder fax med parameter
>
> if test $? -gt 0 # checker om fax program returnere error

Her indeholder $? returværdien fra fax-programmet.

> then
> rm -f -- $3.* # sletter de TIFF filer fax har lavet
> echo MEFAX : `date` $? FAX NR : $2 .....FEJL $4 >>
> /var/log/fax/faxlog-$mdr-$aar
> exit $? # exit med error code 2

Her indeholder $? returværdien fra echo.

En løsning kan være at gemme returværdien i en variabel, og
efterfølgende bruge denne variabel til at afgøre hvilken handling
der skal foretages.

Fx

#v+

fax $1 $2 $3
RC=$?

case $RC in
0)
echo "Alt gik godt"
exit 0
;;
*)
echo "Noget gik galt (RC=$RC)"
exit $RC
;;
esac

#v-

> Så hvorfor returnerer den kun OK - Eller er det mig der har
> lavet en total bøf ..

Sådan kan man vel godt udtrykke det.

Mvh,

--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste