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 />

# Non impostata S S ${# ... } == 0<br />

# Vuota N S ${# ... } == 0<br />

# Impostata N N ${# ... } > 0<br />

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

# Sia la prima parte che/o la seconda delle verifiche possono essere formate<br />

#+ da una stringa d’invocazione <strong>di</strong> un comando o <strong>di</strong> una funzione.<br />

echo<br />

echo ’- - Verifica 1 - indefiniti - -’<br />

declare -i t<br />

_decT() {<br />

t=$t-1<br />

}<br />

# Referenziazione nulla, t == -1<br />

t=${#VarNulla} # Dà come risultato zero.<br />

${VarNulla- _decT } # Viene eseguita la funzione, t ora -1.<br />

echo $t<br />

# Contenuto nullo, t == 0<br />

t=${#VarVuota} # Dà come risultato zero.<br />

${VarVuota- _decT } # La funzione _decT NON viene eseguita.<br />

echo $t<br />

# Contenuto valido, t == numero <strong>di</strong> caratteri non nulli<br />

VarQualcosa=’_semplice’ # Impostata al nome <strong>di</strong> una funzione.<br />

t=${#VarQualcosa} # Lunghezza <strong>di</strong>versa da zero<br />

${VarQualcosa- _decT } # Viene eseguita la funzione _semplice.<br />

echo $t # Notate l’azione Accoda-A.<br />

# Esercizio: sistemate l’esempio precedente.<br />

unset t<br />

unset _decT<br />

VarQualcosa=Letterale<br />

echo<br />

echo ’- - Verifica con cambiamenti - -’<br />

echo ’- Assegnamento in caso <strong>di</strong> referenziazione nulla -’<br />

echo -n ${VarNulla=’NonImpostata’}’ ’ # NonImpostata NonImpostata<br />

echo ${VarNulla}<br />

unset VarNulla<br />

echo ’- Assegnamento in caso <strong>di</strong> referenziazione nulla -’<br />

echo -n ${VarNulla:=’NonImpostata’}’ ’ # NonImpostata NonImpostata<br />

echo ${VarNulla}<br />

unset VarNulla<br />

echo ’- Nessun assegnamento se il contenuto è nullo -’<br />

echo -n ${VarVuota=’Vuota’}’ ’ # Solo uno spazio<br />

echo ${VarVuota}<br />

VarVuota=”<br />

echo ’- Assegnamento in caso <strong>di</strong> contenuto nullo -’<br />

738

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

Saved successfully!

Ooh no, something went wrong!