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

rm -f "$1"/*<br />

return 0 # Successo.<br />

cancella_filep $<strong>di</strong>rprogetti<br />

exit 0<br />

Capitolo 32. Stile dello <strong>scripting</strong><br />

Ci si accerti <strong>di</strong> aver posto #!/bin/bash all’inizio della prima riga dello script, prima <strong>di</strong> qualsiasi<br />

commento.<br />

• Si eviti <strong>di</strong> usare, per i nomi delle costanti letterali, dei “magic number”, 1 cioè, costanti “co<strong>di</strong>ficate” .<br />

Si utilizzino invece nomi <strong>di</strong> variabile significativi. Ciò renderà gli script più facili da capire e<br />

consentirà <strong>di</strong> effettuare le mo<strong>di</strong>fiche e gli aggiornamenti senza il pericolo che l’applicazione non<br />

funzioni più correttamente.<br />

if [ -f /var/log/messages ]<br />

then<br />

...<br />

fi<br />

# L’anno successivo decidete <strong>di</strong> cambiare lo script per<br />

#+ verificare /var/log/syslog.<br />

# È necessario mo<strong>di</strong>ficare manualmente lo script, un’occorrenza<br />

#+ alla volta, e sperare che tutto funzioni a dovere.<br />

# Un modo migliore:<br />

FILELOG=/var/log/messages # Basterà cambiare solo questa riga.<br />

if [ -f "$FILELOG" ]<br />

then<br />

...<br />

fi<br />

• Si scelgano nomi descrittivi per le variabili e le funzioni.<br />

ef=‘ls -al $nome<strong>di</strong>r‘ # Criptico.<br />

elenco_file=‘ls -al $nome<strong>di</strong>r‘ # Meglio.<br />

VALMAX=10 # I nomi delle costanti in<br />

#+ lettere maiuscole.<br />

while [ "$in<strong>di</strong>ce" -le "$VALMAX" ]<br />

...<br />

E_NONTROVATO=75 # Costanti dei co<strong>di</strong>ci d’errore<br />

#+ in maiuscolo e con i nomi<br />

#+ che iniziano con "E_".<br />

if [ ! -e "$nomefile" ]<br />

then<br />

echo "Il file $nomefile non è stato trovato."<br />

exit $E_NONTROVATO<br />

fi<br />

542

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

Saved successfully!

Ooh no, something went wrong!