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.

printf<br />

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

# Tuttavia, quello che segue non funziona come potremmo aspettarci.<br />

# Perché no? Suggerimento: assegnamento a una variabile.<br />

stringa1=$"Ancora un’altra riga <strong>di</strong> testo contenente<br />

un a capo (forse)."<br />

echo $stringa1<br />

# Ancora un’altra riga <strong>di</strong> testo contenente un a_capo (forse).<br />

# ^<br />

# L’a_capo è <strong>di</strong>ventato uno spazio.<br />

# Grazie a Steve Parker per la precisazione.<br />

Nota: Questo comando è un builtin <strong>di</strong> shell e non è uguale a /bin/echo, sebbene la sua azione<br />

sia simile.<br />

bash$ type -a echo<br />

echo is a shell builtin<br />

echo is /bin/echo<br />

Il comando printf, visualizzazione formattata, rappresenta un miglioramento <strong>di</strong> echo. È una<br />

variante meno potente della funzione <strong>di</strong> libreria printf() del linguaggio C. Anche la sua sintassi è<br />

un po’ <strong>di</strong>fferente.<br />

printf stringa-<strong>di</strong>-formato... parametro...<br />

È la versione builtin <strong>Bash</strong> del comando /bin/printf o /usr/bin/printf. Per una descrizione<br />

dettagliata, si veda la pagina <strong>di</strong> manuale <strong>di</strong> printf (comando <strong>di</strong> sistema).<br />

Cautela<br />

Le versioni più vecchie <strong>di</strong> <strong>Bash</strong> potrebbero non supportare printf.<br />

Esempio 11-2. printf in azione<br />

#!/bin/bash<br />

# printf demo<br />

PI=3,14159265358979 # Ve<strong>di</strong> nota a fine listato<br />

CostanteDecimale=31373<br />

Messaggio1="Saluti,"<br />

191

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

Saved successfully!

Ooh no, something went wrong!