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.

#+ interi casuali.<br />

do<br />

numero=$RANDOM<br />

echo $numero<br />

let "contatore += 1" # Incrementa il contatore.<br />

done<br />

echo "-----------------"<br />

Capitolo 9. Variabili riviste<br />

# Se è necessario un intero casuale entro un dato intervallo, si usa<br />

#+ l’operatore ’modulo’, che restituisce il resto <strong>di</strong> una <strong>di</strong>visione.<br />

INTERVALLO=500<br />

echo<br />

numero=$RANDOM<br />

let "numero %= $INTERVALLO"<br />

# ^^<br />

echo "Il numero casuale è inferiore a $INTERVALLO --- $numero"<br />

echo<br />

# Se è necessario un intero casuale non inferiore a un certo limite,<br />

#+ occorre impostare una verifica per eliminare tutti i numeri al <strong>di</strong><br />

#+ sotto <strong>di</strong> tale limite.<br />

LIMITE_INFERIORE=200<br />

numero=0 # inizializzazione<br />

while [ "$numero" -le $LIMITE_INFERIORE ]<br />

do<br />

numero=$RANDOM<br />

done<br />

echo "Numero casuale maggiore <strong>di</strong> $LIMITE_INFERIORE --- $numero"<br />

echo<br />

# Pren<strong>di</strong>amo in considerazione una semplice alternativa al ciclo precedente,<br />

#+ in particolare<br />

# let "numero = $RANDOM + $LIMITE_INFERIORE"<br />

# Elimineremmo il ciclo while e l’esecuzione sarebbe più veloce.<br />

# Ma ci sarebbe un problema. Quale?<br />

# Combiniamo le due tecniche precedenti per ottenere un<br />

#+ numero compreso tra due limiti.<br />

numero=0 # inizializzazione<br />

while [ "$numero" -le $LIMITE_INFERIORE ]<br />

do<br />

146

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

Saved successfully!

Ooh no, something went wrong!