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.

}<br />

echo $*<br />

} | tr a b<br />

Capitolo 23. Funzioni<br />

Funzione () # Questa, invece, no.<br />

{<br />

echo $*<br />

} | tr a b # In questo caso è obbligatorio il blocco <strong>di</strong> co<strong>di</strong>ce annidato.<br />

# Grazie, S.C.<br />

23.2. Variabili locali<br />

variabili locali<br />

Cosa rende una variabile “locale”?<br />

Una variabile <strong>di</strong>chiarata come local è quella che è visibile solo all’interno del blocco <strong>di</strong> co<strong>di</strong>ce in<br />

cui appare. Ha “ambito” locale. In una funzione una variabile locale ha significato solo all’interno<br />

del blocco <strong>di</strong> co<strong>di</strong>ce della funzione.<br />

Esempio 23-12. Visibilità <strong>di</strong> una variabile locale<br />

#!/bin/bash<br />

# Variabili globali e locali in una funzione.<br />

funz ()<br />

{<br />

local var_locale=23 # Dichiarata come variabile locale.<br />

echo # Utilizza il builtin ’local’.<br />

echo "\"var_locale\" nella funzione = $var_locale"<br />

var_globale=999 # Non <strong>di</strong>chiarata come locale.<br />

# Viene impostata per default come globale.<br />

echo "\"var_globale\" nella funzione = $var_globale"<br />

}<br />

funz<br />

# Adesso controlliamo se la variabile locale "var_locale" esiste al <strong>di</strong> fuori<br />

#+ della funzione.<br />

echo<br />

echo "\"var_locale\" al <strong>di</strong> fuori della funzione = $var_locale"<br />

# $var_locale al <strong>di</strong> fuori della funzione =<br />

# No, $var_locale non ha visibilità globale.<br />

echo "\"var_globale\" al <strong>di</strong> fuori della funzione = $var_globale"<br />

# $var_globale al <strong>di</strong> fuori della funzione = 999<br />

459

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

Saved successfully!

Ooh no, something went wrong!