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.

Esempio 9-12. Emulare getopt<br />

#!/bin/bash<br />

# getopt-simple.sh<br />

# Autore: Chris Morgan<br />

# Usato in <strong>Guida</strong> ASB con il suo consenso.<br />

Capitolo 9. Variabili riviste<br />

semplice_getopt()<br />

{<br />

echo "semplice_getopt()"<br />

echo "I parametri sono ’$*’"<br />

until [ -z "$1" ]<br />

do<br />

echo "Elaborazione parametro <strong>di</strong>: ’$1’"<br />

if [ ${1:0:1} = ’/’ ]<br />

then<br />

tmp=${1:1} # Elinina le ’/’ iniziali . . .<br />

parametro=${tmp%%=*} # Estrae il nome.<br />

valore=${tmp##*=} # Estrae il valore.<br />

echo "Parametro: ’$parametro’, valore: ’$valore’"<br />

eval $parametro=$valore<br />

fi<br />

shift<br />

done<br />

}<br />

# Passiamo tutte le opzioni a semplice_getopt().<br />

semplice_getopt $*<br />

echo "verifica ’$verifica’"<br />

echo "verifica2 ’$verifica2’"<br />

exit 0<br />

---<br />

sh getopt_example.sh /verifica=valore1 /verifica2=valore2<br />

I parametri sono ’/verifica=valore1 /verifica2=valore2’<br />

Elaborazione parametro <strong>di</strong>: ’/verifica=valore1’<br />

Parametro: ’verifica’, valore: ’valore1’<br />

Elaborazione parametro <strong>di</strong>: ’/verifica2=valore2’<br />

Parametro: ’verifica2’, valore: ’valore2’<br />

verifica ’valore1’<br />

verifica2 ’valore2’<br />

124

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

Saved successfully!

Ooh no, something went wrong!