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]