In data 11/07/2007 20:19 Pol Hallen ha scritto:
Ciao a tutti,
sono in difficolta' circa uno script che sto scrivendo,
ho messo:
if [ -z $!]
then echo normal exit
exit
else
e quindi, se allo script non ci passo nulla, esce normalmente.
Quello che dovrei aggiungere (e questo e' il problema) e':
se specifico un nome di file, lo script processa quel file. Se ci metto
wav lo script processa tutti i file in quella dir.
Non so cosa usare, se case o un if then else o altro.
Cose consigliate?
Io farei così, ma non ho molta esperienza con l'sh:
while [ $1 != ] ; do
case $1 in
--help|-h)
usage
exit 0
;;
*)
INPUTFILE=$1
chiama la funzione che svolge il lavoro
esac
shift [ così passi al file successivo ]
done
Un'esempio di funzione:
usage ()
{
echo Usage: `basename $0` [OPTIONS] [FILE1] [FILE2] ...
}
un'altro, che usa la variabile INPUTFILE quindi ti potrebbe essere
d'aito per capire come poi usare i singoli file:
is_image ()
{
ISIMAGE=
if [ -e $INPUTFILE ]; then
MAGIC=$( file -bi $INPUTFILE )
MAGICBASE=$( echo $MAGIC | cut -f 1 -d / )
IMAGETYPE=$( echo $MAGIC | cut -f 2- -d / )
if [ $MAGICBASE != image ] ; then
echo $INPUTFILE: Not an image /dev/stderr
else
ISIMAGE=1
fi
else
echo $INPUTFILE : File not found! /dev/stderr
fi
}
Ciao.
--
Giulio Canevari
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
[EMAIL PROTECTED] con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]