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.

let "d += 1" # 2334 + 1 =<br />

echo "d = $d" # d = 2335<br />

echo<br />

Capitolo 4. Introduzione alle variabili ed ai parametri<br />

# Che <strong>di</strong>re a proposito delle variabili nulle?<br />

e=""<br />

echo "e = $e" # e =<br />

let "e += 1" # Sono consentite le operazioni aritmetiche sulle<br />

#+ variabili nulle?<br />

echo "e = $e" # e = 1<br />

echo # Variabile nulla trasformata in un intero.<br />

# E sulle variabili non <strong>di</strong>chiarate?<br />

echo "f = $f" # f =<br />

let "f += 1" # Sono consentite le operazioni aritmetiche?<br />

echo "f = $f" # f = 1<br />

echo # Variabile non <strong>di</strong>chiarata trasformata in un intero.<br />

# Le variabili in <strong>Bash</strong> non sono tipizzate.<br />

exit 0<br />

Le variabili non tipizzate sono sia una bene<strong>di</strong>zione che una calamità. Permettono maggiore flessibilità<br />

nello <strong>scripting</strong> (abbastanza corda per impiccarvici!) e rendono più semplice sfornare righe <strong>di</strong> co<strong>di</strong>ce. Per<br />

contro, consentono errori subdoli e incoraggiano stili <strong>di</strong> programmazione <strong>di</strong>sor<strong>di</strong>nati.<br />

È compito del programmatore tenere traccia dei tipi <strong>di</strong> variabili contenute nello script. <strong>Bash</strong> non lo farà<br />

per lui.<br />

4.4. Tipi speciali <strong>di</strong> variabili<br />

variabili locali<br />

variabili d’ambiente<br />

sono variabili visibili solo all’interno <strong>di</strong> un blocco <strong>di</strong> co<strong>di</strong>ce o funzione (ve<strong>di</strong> anche variabili locali<br />

in funzioni)<br />

sono variabili relative al comportamento della shell o all’interfaccia utente<br />

Nota: Più in generale, ogni processo possiede un proprio “ambiente”, ovvero un gruppo <strong>di</strong><br />

variabili contenenti delle informazioni a cui il processo fa riferimento. Da questo punto <strong>di</strong> vista,<br />

la shell si comporta come qualsiasi altro processo.<br />

Ogni volta che la shell viene eseguita crea le variabili <strong>di</strong> shell che corrispondono alle sue<br />

variabili d’ambiente. L’aggiornamento o l’aggiunta <strong>di</strong> nuove variabili <strong>di</strong> shell provoca<br />

l’aggiornamento del suo ambiente. Tutti i processi generati dalla shell (i coman<strong>di</strong> eseguiti)<br />

ere<strong>di</strong>tano questo ambiente.<br />

43

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

Saved successfully!

Ooh no, something went wrong!