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.

val3=‘moltiplica $molt1 $molt2 $molt3 $molt4‘<br />

echo "$molt1 X $molt2 X $molt3 X $molt4 = $val3"<br />

# 8173300<br />

exit 0<br />

Capitolo 33. Miscellanea<br />

La stessa tecnica funziona anche per le stringhe alfanumeriche. Questo significa che una funzione può<br />

“restituire” un valore non numerico.<br />

car_maiuscolo () # Cambia in maiuscolo il carattere iniziale<br />

{ #+ <strong>di</strong> un argomento stringa/he passato.<br />

}<br />

stringa0="$@" # Accetta più argomenti.<br />

primocar=${stringa0:0:1} # Primo carattere.<br />

stringa1=${stringa0:1} # Parte restante della/e stringa/he.<br />

PrimoCar=‘echo "$primocar" | tr a-z A-Z‘<br />

# Cambia in maiuscolo il primo carattere.<br />

echo "$PrimoCar$stringa1" # Visualizza allo stdout.<br />

nuovastringa=‘car_maiuscolo "ogni frase dovrebbe iniziare \<br />

con una lettera maiuscola."‘<br />

echo "$nuovastringa" # Ogni frase dovrebbe iniziare con una<br />

#+ lettera maiuscola.<br />

Con questo sistema una funzione può “restituire” più valori.<br />

Esempio 33-16. Uno stratagemma per valori <strong>di</strong> ritorno multipli<br />

#!/bin/bash<br />

# sum-product.sh<br />

# Una funzione può "restituire" più <strong>di</strong> un valore.<br />

somma_e_prodotto () # Calcola sia la somma che il prodotto degli<br />

#+ argomenti passati.<br />

{<br />

echo $(( $1 + $2 )) $(( $1 * $2 ))<br />

# Visualizza allo stdout ogni valore calcolato, separato da uno spazio.<br />

}<br />

echo<br />

echo "Inserisci il primo numero"<br />

read primo<br />

echo<br />

578

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

Saved successfully!

Ooh no, something went wrong!