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.

# Lunghezza <strong>di</strong> un array, misurata sugli elementi definiti,<br />

#+ compresi quelli con contenuto nullo.<br />

echo<br />

echo ’Conteggio dei contenuti definiti: ’${#Array[@]}’ elementi.’<br />

# NON è l’in<strong>di</strong>ce massimo (4).<br />

# NON è l’intervallo degli in<strong>di</strong>ci (1 . . 4 compresi).<br />

# È la lunghezza della lista collegata.<br />

###<br />

# Sia l’in<strong>di</strong>ce massimo che l’intervallo degli in<strong>di</strong>ci possono<br />

#+ essere ricavati con altre istruzioni.<br />

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

# Lunghezza <strong>di</strong> una stringa, misurata sugli elementi non-nulli (caratteri):<br />

echo<br />

echo ’- - Riferimento Globale con quoting - -’<br />

echo ’Conteggio caratteri Non-Nulli: ’"${#VarQualcosa}"’ caratteri.’<br />

# Lunghezza <strong>di</strong> un array, misurata sugli elementi definiti,<br />

#+ compresi gli elementi con contenuto nullo.<br />

echo<br />

echo ’Conteggio elementi definiti: ’"${#Array[*]}"’ elementi.’<br />

# Interpretazione: la sostituzione non ha effetti nell’operazione ${# ... }.<br />

# Suggerimento:<br />

# Per i caratteri utilizzate sempre Tutti-Gli-Elementi-Di<br />

#+ se è quello che volete veramente (independente da IFS).<br />

# Definizione <strong>di</strong> una semplice funzione.<br />

# Nel nome è stato inserito il trattino <strong>di</strong> sottolineatura (underscore)<br />

#+ per <strong>di</strong>stinguerlo dagli esempi precedenti.<br />

###<br />

# <strong>Bash</strong> separa i nomi delle variabili e quelli delle funzioni<br />

#+ in <strong>di</strong>fferenti namespace.<br />

# The Mark-One eyeball isn’t that advanced.**<br />

###<br />

_semplice() {<br />

echo -n ’Funzione_semplice’$@ # Nei risultati non viene<br />

} #+ mai eseguito l’a_capo.<br />

# La notazione ( ... ) invoca un comando o una funzione.<br />

# La notazione $( ... ) va letta come: Risultato-Di.<br />

# Invocazione della funzione _semplice<br />

echo<br />

echo ’- - Output della funzione _semplice - -’<br />

_semplice # Provate a passare degli argomenti.<br />

echo<br />

# oppure<br />

(_semplice) # Provate a passare degli argomenti.<br />

echo<br />

734

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

Saved successfully!

Ooh no, something went wrong!