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.

Capitolo 7. Verifiche<br />

fi # Usate il quoting per le stringhe nel costrutto<br />

#+ <strong>di</strong> verifica parentesi quadre!<br />

echo<br />

if [ $stringa1 ] # Qui, $stringa1 è sola.<br />

then<br />

echo "La stringa \"stringa1\" non è nulla."<br />

else<br />

echo "La stringa \"stringa1\" è nulla."<br />

fi<br />

# Questo funziona bene.<br />

# L’operatore <strong>di</strong> verifica [ ] da solo è in grado <strong>di</strong> rilevare se la stringa<br />

#+ è nulla.<br />

# Tuttavia è buona pratica usare il quoting ("$stringa1").<br />

#<br />

# Come ha evidenziato Stephane Chazelas,<br />

# if [ $stringa1 ] ha un argomento, "]"<br />

# if [ "$stringa1" ] ha due argomenti, la stringa vuota "$stringa1" e "]"<br />

echo<br />

stringa1=inizializzata<br />

if [ $stringa1 ] # Ancora, $stringa1 da sola.<br />

then<br />

echo "La stringa \"stringa1\" non è nulla."<br />

else<br />

echo "La stringa \"stringa1\" è nulla."<br />

fi<br />

# Ancora, risultato corretto.<br />

# Non<strong>di</strong>meno, è meglio utilizzare il quoting ("$stringa1"), perché. . .<br />

stringa1="a = b"<br />

if [ $stringa1 ] # Ancora $stringa1 da sola.<br />

then<br />

echo "La stringa \"stringa1\" non è nulla."<br />

else<br />

echo "La stringa \"stringa1\" è nulla."<br />

fi<br />

# Senza il quoting <strong>di</strong> "$stringa1" ora si ottiene un risultato sbagliato!<br />

exit 0<br />

79

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

Saved successfully!

Ooh no, something went wrong!