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.

echo<br />

select numero_catalogo in "B1723" "B1724" "B1725"<br />

do<br />

Inv=${numero_catalogo}_inventario<br />

Val=${numero_catalogo}_valore<br />

P<strong>di</strong>ssip=${numero_catalogo}_potenza<strong>di</strong>ssip<br />

Loc=${numero_catalogo}_loc<br />

Codcol=${numero_catalogo}_colori<br />

echo<br />

echo "Numero <strong>di</strong> catalogo $numero_catalogo:"<br />

echo "In magazzino ci sono ${!Inv} resistori da\<br />

[${!Val} ohm / ${!P<strong>di</strong>ssip} watt]."<br />

echo "Si trovano nel contenitore nr. ${!Loc}."<br />

echo "Il loro colore <strong>di</strong> co<strong>di</strong>ce è \"${!Codcol}\"."<br />

break<br />

done<br />

echo; echo<br />

Capitolo 34. <strong>Bash</strong>, versioni 2 e 3<br />

# Esercizi:<br />

# --------<br />

# 1) Riscrivete lo script in modo che legga i dati da un file esterno.<br />

# 2) Riscrivete lo script utilizzando gli array, al posto della<br />

#+ referenziazione in<strong>di</strong>retta a variabile.<br />

# Quale, tra i due, è il metodo più <strong>di</strong>retto e intuitivo?<br />

# Nota:<br />

# -----<br />

# Gli script <strong>di</strong> shell non sono appropriati per le applicazioni <strong>di</strong> database,<br />

#+ tranne quelle più semplici. Anche in questi casi, però,<br />

#+ bisogna ricorrere ad espe<strong>di</strong>enti e trucchi vari.<br />

# È molto meglio utilizzare un linguaggio che abbia un<br />

#+ supporto nativo per le strutture, come C++ o Java (o anche Perl).<br />

exit 0<br />

Esempio 34-4. Utilizzo degli array e <strong>di</strong> vari altri espe<strong>di</strong>enti per simulare la <strong>di</strong>stribuzione casuale <strong>di</strong><br />

un mazzo <strong>di</strong> carte a 4 giocatori<br />

#!/bin/bash<br />

# Carte:<br />

# Distribuzione <strong>di</strong> un mazzo <strong>di</strong> carte a quattro giocatori.<br />

NONDISTRIBUITA=0<br />

DISTRIBUITA=1<br />

589

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

Saved successfully!

Ooh no, something went wrong!