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.

Appen<strong>di</strong>ce A. Script aggiuntivi<br />

echo ’- Esiste una variabile con quel nome? -’<br />

echo $_semplice non definita # Nessuna variabile con quel nome.<br />

# Invoca il risultato della funzione _semplice<br />

# (messaggio d’errore intenzionale)<br />

###<br />

$(_semplice) # Dà un messaggio d’errore:<br />

# line 407: Funzione_semplice: command not found<br />

# ----------------------------------------------<br />

echo<br />

###<br />

# La prima parola del risultato della funzione _semplice<br />

#+ non è un camando <strong>Bash</strong> valido né il nome <strong>di</strong> una funzione definita.<br />

###<br />

# Questo <strong>di</strong>mostra che l’output <strong>di</strong> _semplice è soggetto a valutazione.<br />

###<br />

# Interpretazione:<br />

# Una funzione può essere usata per generare dei coman<strong>di</strong> <strong>Bash</strong> in-line.<br />

# Una semplice funzione dove la prima parola del risultato È un comando <strong>Bash</strong>:<br />

###<br />

_print() {<br />

echo -n ’printf %q ’$@<br />

}<br />

echo ’- - Risultati della funzione _print - -’<br />

_print param1 param2 # Un output NON un comando.<br />

echo<br />

$(_print param1 param2) # Esegue: printf %q param1 param2<br />

# Ve<strong>di</strong> i precedenti esempi <strong>di</strong> IFS<br />

#+ per le <strong>di</strong>verse possibilità.<br />

echo<br />

$(_print $VarQualcosa) # Risultato preve<strong>di</strong>bile.<br />

echo<br />

# Variabili funzione<br />

# ------------------<br />

echo<br />

echo ’- - Variabili funzione - -’<br />

# Una variabile può contenere un intero con segno, una stringa o un array.<br />

# Si può usare una stringa come se fosse il nome <strong>di</strong> una funzione con i<br />

# relativi argomenti opzionali.<br />

735

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

Saved successfully!

Ooh no, something went wrong!