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 />

*=<br />

/=<br />

%=<br />

“meno-uguale” (decrementa una variabile <strong>di</strong> una costante)<br />

“per-uguale” (moltiplica una variabile per una costante)<br />

let "var *= 4" come risultato var è stata moltiplicata per 4.<br />

“<strong>di</strong>viso-uguale” (<strong>di</strong>vide una variabile per una costante)<br />

“modulo-uguale” (resto della <strong>di</strong>visione <strong>di</strong> una variabile per una costante)<br />

Gli operatori aritmetici si trovano spesso in espressioni con expr o let.<br />

Esempio 8-2. Utilizzo delle operazioni aritmetiche<br />

#!/bin/bash<br />

# Contare fino a 11 in 10 mo<strong>di</strong> <strong>di</strong>versi.<br />

n=1; echo -n "$n "<br />

let "n = $n + 1" # Va bene anche let "n = n + 1".<br />

echo -n "$n "<br />

: $((n = $n + 1))<br />

# I ":" sono necessari perché altrimenti <strong>Bash</strong> tenta<br />

#+ <strong>di</strong> interpretare "$((n = $n + 1))" come un comando.<br />

echo -n "$n "<br />

(( n = n + 1 ))<br />

# Alternativa più semplice del metodo precedente.<br />

# Grazie a David Lombard per la precisazione.<br />

echo -n "$n "<br />

n=$(($n + 1))<br />

echo -n "$n "<br />

Capitolo 8. Operazioni ed argomenti correlati<br />

: $[ n = $n + 1 ]<br />

# I ":" sono necessari perché altrimenti <strong>Bash</strong> tenta<br />

#+ <strong>di</strong> interpretare "$[ n = $n + 1 ]" come un comando.<br />

# Funziona anche se "n" fosse inizializzata come stringa.<br />

echo -n "$n "<br />

n=$[ $n + 1 ]<br />

# Funziona anche se "n" fosse inizializzata come stringa.<br />

86

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

Saved successfully!

Ooh no, something went wrong!