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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capitolo 8. Operazioni ed argomenti correlati<br />

#* Evitate questo costrutto perché è obsoleto e non portabile.<br />

# Grazie, Stephane Chazelas.<br />

echo -n "$n "<br />

# Ora con gli operatori <strong>di</strong> incremento in stile C.<br />

# Grazie a Frank Wang per averlo segnalato.<br />

let "n++" # anche con let "++n".<br />

echo -n "$n "<br />

(( n++ )) # anche con (( ++n ).<br />

echo -n "$n "<br />

: $(( n++ )) # anche con : $(( ++n )).<br />

echo -n "$n "<br />

: $[ n++ ] # e anche : $[ ++n ]]<br />

echo -n "$n "<br />

echo<br />

exit 0<br />

Nota: In <strong>Bash</strong>, attualmente, le variabili intere sono del tipo signed long (32-bit) comprese<br />

nell’intervallo da -2147483648 a 2147483647. Un’operazione comprendente una variabile con un<br />

valore al <strong>di</strong> fuori <strong>di</strong> questi limiti dà un risultato sbagliato.<br />

a=2147483646<br />

echo "a = $a" # a = 2147483646<br />

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

echo "a = $a" # a = 2147483647<br />

let "a+=1" # incrementa ancora "a", viene oltrepassato il limite.<br />

echo "a = $a" # a = -2147483648<br />

# ERRORE (fuori intervallo)<br />

Dalla versione 2.05b, <strong>Bash</strong> supporta gli interi <strong>di</strong> 64 bit.<br />

87

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

Saved successfully!

Ooh no, something went wrong!