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.

Esempio 10-29. Creare menu utilizzando select<br />

#!/bin/bash<br />

Capitolo 10. Cicli ed alternative<br />

PS3=’Scegli il tuo ortaggio preferito: ’# Imposta la stringa del prompt.<br />

echo<br />

select verdura in "fagioli" "carote" "patate" "cipolle" "rape"<br />

do<br />

echo<br />

echo "Il tuo ortaggio preferito sono i/le $verdura."<br />

echo "Yuck!"<br />

echo<br />

break # Cosa succederebbe se non ci fosse il "break"?<br />

done<br />

exit 0<br />

Se viene omesso in lista allora select usa l’elenco degli argomenti passati da riga <strong>di</strong> comando<br />

allo script ($@) o alla funzione in cui il costrutto select è inserito.<br />

Lo si confronti con il comportamento del costrutto<br />

for variabile [in lista]<br />

con in lista omesso.<br />

Esempio 10-30. Creare menu utilizzando select in una funzione<br />

#!/bin/bash<br />

PS3=’Scegli il tuo ortaggio preferito: ’<br />

echo<br />

scelta_<strong>di</strong>()<br />

{<br />

select verdura<br />

# [in lista] omesso, quin<strong>di</strong> ’select’ usa gli argomenti passati alla funzione.<br />

do<br />

echo<br />

echo "Il tuo ortaggio preferito: $verdura."<br />

echo "Yuck!"<br />

echo<br />

break<br />

done<br />

}<br />

scelta_<strong>di</strong> fagioli riso carote ravanelli pomodori spinaci<br />

# $1 $2 $3 $4 $5 $6<br />

185

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

Saved successfully!

Ooh no, something went wrong!