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.

: ${ZZXy23AB?"ZZXy23AB non è stata impostata."}<br />

# Se ZZXy23AB non è stata impostata,<br />

#+ allora lo script termina con un messaggio d’errore.<br />

# Il messaggio d’errore può essere specificato.<br />

# : ${nomevariabile?"MESSAGGIO D’ERRORE"}<br />

# Stesso risultato con:<br />

#+ finta_variabile=${ZZXy23AB?}<br />

#+ finta_variabile=${ZZXy23AB?"ZXy23AB non è stata impostata."}<br />

#<br />

# echo ${ZZXy23AB?} >/dev/null<br />

Capitolo 9. Variabili riviste<br />

# Confrontate questi meto<strong>di</strong> per la verifica dell’impostazione <strong>di</strong> una variabile<br />

#+ con "set -u" . . .<br />

echo "Questo messaggio non viene visualizzato perché lo script è già terminato."<br />

QUI=0<br />

exit $QUI # NON termina in questo punto.<br />

# Infatti lo script restituisce come exit status (echo $?) 1.<br />

Esempio 9-15. Sostituzione <strong>di</strong> parametro e messaggi “utilizzo”<br />

#!/bin/bash<br />

# usage-message.sh<br />

: ${1?"Utilizzo: $0 ARGOMENTO"}<br />

# Lo script termina qui, se non vi è un parametro da riga <strong>di</strong> comando,<br />

#+ e viene visualizzato il seguente messaggio d’errore.<br />

# usage-message.sh: 1: Utilizzo: usage-message.sh ARGOMENTO<br />

echo "Queste due righe vengono visualizzate solo se è stato<br />

fornito un argomento."<br />

echo "argomento da riga <strong>di</strong> comando = \"$1\""<br />

exit 0 # Lo script termina a questo punto solo se è stato<br />

#+ eseguito con l’argomento richiesto.<br />

# Verificate l’exit status dello script eseguito, sia con che senza argomento.<br />

# Se il parametro è stato fornito, allora "$?" è 0.<br />

# Altrimenti "$?" è 1.<br />

Sostituzione e/o espansione <strong>di</strong> parametro. Le espressioni che seguono sono il complemento delle<br />

operazioni sulle stringhe del costrutto match con expr (ve<strong>di</strong> Esempio 12-9). Vengono per lo più usate<br />

per la verifica dei nomi dei file.<br />

131

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

Saved successfully!

Ooh no, something went wrong!