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.

ead var<br />

echo "\"var\" = "$var""<br />

# Tutto come ci si aspetta.<br />

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

echo<br />

Capitolo 11. Coman<strong>di</strong> interni e builtin<br />

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

echo -n "Immetti un altro valore: "<br />

read # Non viene fornita alcuna variabile a ’read’,<br />

#+ quin<strong>di</strong>... l’input <strong>di</strong> ’read’ viene assegnato alla<br />

#+ variabile predefinita $REPLY.<br />

var="$REPLY"<br />

echo "\"var\" = "$var""<br />

# Stesso risultato del primo blocco <strong>di</strong> co<strong>di</strong>ce.<br />

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

echo<br />

exit 0<br />

Normalmente, immettendo una \ nell’input <strong>di</strong> read si <strong>di</strong>sabilita il ritorno a capo. L’opzione -r<br />

consente <strong>di</strong> interpretare la \ letteralmente.<br />

Esempio 11-5. Input su più righe per read<br />

#!/bin/bash<br />

echo<br />

echo "Immettete una stringa che termina con \\, quin<strong>di</strong> premete ."<br />

echo "Dopo <strong>di</strong> che, immettete una seconda stringa e premete ancora ."<br />

read var1 # La "\" sopprime il ritorno a capo durante la lettura <strong>di</strong> $var1.<br />

# prima riga \<br />

# seconda riga<br />

echo "var1 = $var1"<br />

# var1 = prima riga seconda riga<br />

# Per ciascuna riga che termina con "\", si ottiene un prompt alla riga<br />

#+ successiva per continuare ad inserire caratteri in var1.<br />

echo; echo<br />

echo "Immettete un’altra stringa che termina con \\ , quin<strong>di</strong> premete ."<br />

read -r var2 # L’opzione -r fa sì che "\" venga interpretata letteralmente.<br />

# prima riga \<br />

echo "var2 = $var2"<br />

# var2 = prima riga \<br />

# L’introduzione dei dati termina con il primo .<br />

194

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

Saved successfully!

Ooh no, something went wrong!