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.

}<br />

msg=nomefile<br />

else<br />

msg=$@<br />

fi<br />

echo "Utilizzo: ‘basename $0‘ "$msg""<br />

Capitolo 33. Miscellanea<br />

Controlla_root () # Controlla se è root ad eseguire lo script.<br />

{ # Dall’esempio "ex39.sh".<br />

if [ "$UID" -ne "$UID_ROOT" ]<br />

then<br />

echo "Devi essere root per eseguire questo script."<br />

exit $E_NONROOT<br />

fi<br />

}<br />

CreaNomeFileTemp () # Crea un file temporaneo con nome "unico".<br />

{ # Dall’esempio "ex51.sh".<br />

prefisso=temp<br />

suffisso=‘eval date +%s‘<br />

Nomefiletemp=$prefisso.$suffisso<br />

}<br />

isalpha2 () # Verifica se l’*intera stringa* è formata da<br />

#+ caratteri alfabetici.<br />

{ # Dall’esempio "isalpha.sh".<br />

[ $# -eq 1 ] || return $INSUCCESSO<br />

}<br />

case $1 in<br />

*[!a-zA-Z]*|"") return $INSUCCESSO;;<br />

*) return $SUCCESSO;;<br />

esac # Grazie, S.C.<br />

abs () # Valore assoluto.<br />

{ # Attenzione: Valore <strong>di</strong> ritorno massimo = 255.<br />

E_ERR_ARG=-999999<br />

if [ -z "$1" ] # È necessario passare un argomento.<br />

then<br />

return $E_ERR_ARG # Ovviamente viene restituito il<br />

#+ co<strong>di</strong>ce d’errore.<br />

fi<br />

if [ "$1" -ge 0 ] # Se non negativo,<br />

then #<br />

valass=$1 # viene preso così com’è.<br />

else # Altrimenti,<br />

574

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

Saved successfully!

Ooh no, something went wrong!