domenica 22 maggio 2011

Script per shell - for...

A volte occorre iterare uno o più comandi finché una condizione non si esaurisce, è questo il caso del ciclo for la cui sintassi è riportati qui di seguito:
for valore in [lista_di_valori]
do
...
done
Riprendiamo l'esempio visto in precedenza, quello che si occupa della rimozione di un file. Aggiungeremo un controllo sui parametri passati allo script in maniera tale da cancellarli tutti (lo script visto considerava solo il primo parametro!):
#!/bin/bash
#Ciclo for...
if [ $# -gt 0 ]
then
for file in $*
do
if [ -e $file ]
then
echo -e "Vuoi cancellare il file $file?\\n1. si;\\n2. no;"
read answer
case $answer in
1)
rm $file
echo "Ho cancellato il file $file!"
;;
2)
echo "Il file $file non è stato cancellato!"
;;
*)
echo "Il file $file non è stato cancellato!"
;;
esac
else
echo "Il file $file non esiste!"
fi
continue
done
else
echo "Indicare i nomi dei file da cancellare!"
fi

Nessun commento:

Posta un commento