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.

Capitolo 11. Coman<strong>di</strong> interni e builtin<br />

co<strong>di</strong>ce all’interno dello script, accodandolo (stesso effetto della <strong>di</strong>rettiva #include <strong>di</strong> un<br />

programma C ). Il risultato finale è uguale all’“inserimento” <strong>di</strong> righe <strong>di</strong> co<strong>di</strong>ce nel corpo dello script.<br />

È utile in situazioni in cui <strong>di</strong>versi script usano un file dati comune o una stessa libreria <strong>di</strong> funzioni.<br />

Esempio 11-20. “Includere” un file dati<br />

#!/bin/bash<br />

. file-dati # Carica un file dati.<br />

# Stesso effetto <strong>di</strong> "source file-dati", ma più portabile.<br />

# Il file "file-dati" deve essere presente nella <strong>di</strong>rectory <strong>di</strong> lavoro<br />

#+ corrente, poiché vi si fa riferimento per mezzo del suo ’basename’.<br />

# Ora utilizziamo alcuni dati del file.<br />

echo "variabile1 (dal file-dati) = $variabile1"<br />

echo "variabile3 (dal file-dati) = $variabile3"<br />

let "sommma = $variabile2 + $variabile4"<br />

echo "Somma della variabile2 + variabile4 (dal file-dati) = $somma"<br />

echo "messaggio1 (dal file-dati) \"$messaggio1\""<br />

# Nota: apici doppi con escape.<br />

visualizza_messaggio Questa è la funzione <strong>di</strong> visualizzazione messaggio \<br />

presente in file-dati.<br />

exit 0<br />

Il file file-dati per l’Esempio 11-20 precedente. Dev’essere presente nella stessa <strong>di</strong>rectory.<br />

# Questo è il file dati caricato dallo script.<br />

# File <strong>di</strong> questo tipo possono contenere variabili, funzioni, ecc.<br />

# Può essere caricato con il comando ’source’ o ’.’ da uno script <strong>di</strong> shell.<br />

# Inizializziamo alcune variabili.<br />

variabile1=22<br />

variabile2=474<br />

variabile3=5<br />

variabile4=97<br />

messaggio1="Ciao, come stai?"<br />

messaggio2="Per ora piuttosto bene. Arrivederci."<br />

visualizza_messaggio ()<br />

{<br />

# Visualizza qualsiasi messaggio passato come argomento.<br />

if [ -z "$1" ]<br />

then<br />

return 1<br />

212

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

Saved successfully!

Ooh no, something went wrong!