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.

TIPO_CAVALLO=2<br />

Capitolo 33. Miscellanea<br />

# Crea i file-posizione e i file-posta per ogni "cavallo".<br />

#+ In questi file vengono registrati la posizione e il tipo del cavallo,<br />

#+ nonché la relativa posta.<br />

for CN in ‘seq 9‘; do<br />

touch cavallo_${CN}_posizione<br />

touch posta_${CN}<br />

echo \-1 > cavallo_${CN}_posizione<br />

echo $TIPO_CAVALLO >> cavallo_${CN}_posizione<br />

# Determina un han<strong>di</strong>cap casuale per il cavallo.<br />

HANDICAP=‘casuale_1_9‘<br />

# Verifica che la funzione casuale_1_9 restituisca un valore valido.<br />

while ! echo $HANDICAP | grep [1-9] &> /dev/null; do<br />

HANDICAP=‘casuale_1_9‘<br />

done<br />

# Determina l’han<strong>di</strong>cap del cavallo in ultima posizione.<br />

CUP=‘expr $HANDICAP \* 7 + 3‘<br />

for FILE in ‘seq 10 7 $CUP‘; do<br />

echo $CN >> $FILE<br />

done<br />

done<br />

# Calcola le poste.<br />

case $HANDICAP in<br />

1) POSTA=‘echo $HANDICAP \* 0.25 + 1.25 | bc‘<br />

echo $POSTA > posta_${CN}<br />

;;<br />

2 | 3) POSTA=‘echo $HANDICAP \* 0.40 + 1.25 | bc‘<br />

echo $POSTA > posta_${CN}<br />

;;<br />

4 | 5 | 6) POSTA=‘echo $HANDICAP \* 0.55 + 1.25 | bc‘<br />

echo $POSTA > posta_${CN}<br />

;;<br />

7 | 8) POSTA=‘echo $HANDICAP \* 0.75 + 1.25 | bc‘<br />

echo $POSTA > posta_${CN}<br />

;;<br />

9) POSTA=‘echo $HANDICAP \* 0.90 + 1.25 | bc‘<br />

echo $POSTA > posta_${CN}<br />

esac<br />

# Per visualizzare le poste.<br />

visualizza_poste() {<br />

tput cup 6 0<br />

echo -ne ’\E[30;42m’<br />

for CN in ‘seq 9‘; do<br />

echo "#$CN posta->" ‘cat posta_${CN}‘<br />

done<br />

}<br />

567

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

Saved successfully!

Ooh no, something went wrong!