11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

fi<br />

let "anno -= $ANNORIF"<br />

let "totanni = $anno / $SECOLO"<br />

Appen<strong>di</strong>ce A. Script aggiuntivi<br />

let "Giorni = $GPA*$anno + $anno/$FREQ_BISESTILE -\<br />

$totanni + $totanni/$FREQ_BISESTILE + $AGG_GPA*$mese/$MPA + $giorno - $GPM"<br />

# Per un’approfon<strong>di</strong>ta spiegazione <strong>di</strong> questo algoritmo, ve<strong>di</strong><br />

#+ http://home.t-online.de/home/berndt.schwerdtfeger/cal.htm<br />

echo $Giorni<br />

calcola_<strong>di</strong>fferenza () # Differenza tra i totali dei giorni.<br />

{<br />

let "<strong>di</strong>ff = $1 - $2" # Variabile globale.<br />

}<br />

abs () # Valore assoluto<br />

{ # Usa la variabile globale "valore".<br />

if [ "$1" -lt 0 ] # Se nagativa<br />

then #+ allora<br />

let "valore = 0 - $1" #+ cambia il segno,<br />

else #+ altrimenti<br />

let "valore = $1" #+ la lascia invariata.<br />

fi<br />

}<br />

if [ $# -ne "$ARG" ] # Richiede due parametri da riga <strong>di</strong> comando.<br />

then<br />

Errore_Param<br />

fi<br />

Analizza_Data $1<br />

controlla_data $giorno $mese $anno # Verifica se la data è valida.<br />

toglie_zero_iniziale $giorno # Rimuove gli zeri iniziali<br />

giorno=$? #+ dal giorno e/o dal mese.<br />

toglie_zero_iniziale $mese<br />

mese=$?<br />

let "data1 = ‘tot_giorni $giorno $mese $anno‘"<br />

Analizza_Data $2<br />

controlla_data $giorno $mese $anno<br />

619

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!