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 12-48. Calcolo dell’ipotenusa <strong>di</strong> un triangolo<br />

Capitolo 12. Filtri, programmi e coman<strong>di</strong> esterni<br />

#!/bin/bash<br />

# hypotenuse.sh: Calcola l’"ipotenusa" <strong>di</strong> un triangolo rettangolo.<br />

# ( ra<strong>di</strong>ce quadrata della somma dei quadrati dei cateti)<br />

ARG=2 # Lo script ha bisogno che gli vengano passati i cateti<br />

#+ del triangolo.<br />

E_ERR_ARG=65 # Numero <strong>di</strong> argomenti errato.<br />

if [ $# -ne "$ARG" ] # Verifica il numero degli argomenti.<br />

then<br />

echo "Utilizzo: ‘basename $0‘ cateto_1 cateto_2"<br />

exit $E_ERR_ARG<br />

fi<br />

SCRIPTAWK=’ { printf( "%3.7f\n", sqrt($1*$1 + $2*$2) ) } ’<br />

# comando/i / parametri passati ad awk<br />

# Ora passiamo, per mezzo <strong>di</strong> una pipe, i parametri a awk.<br />

echo -n "Ipotenusa <strong>di</strong> $1 e $2 = "<br />

echo $1 $2 | awk "$SCRIPTAWK"<br />

exit 0<br />

12.9. Coman<strong>di</strong> <strong>di</strong>versi<br />

jot<br />

seq<br />

Coman<strong>di</strong> che non possono essere inseriti in nessuna specifica categoria<br />

Queste utility generano una sequenza <strong>di</strong> interi con un incremento stabilito dall’utente.<br />

Il normale carattere <strong>di</strong> separazione tra ciascun intero è il ritorno a capo, che può essere mo<strong>di</strong>ficato<br />

con l’opzione -s<br />

bash$ seq 5<br />

1<br />

2<br />

3<br />

4<br />

5<br />

326

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

Saved successfully!

Ooh no, something went wrong!