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.

Appen<strong>di</strong>ce A. Script aggiuntivi<br />

# Il lettore che volesse riflettere sul precedente frammento <strong>di</strong> co<strong>di</strong>ce<br />

#+ potrebbe dover ripassare "elenco <strong>di</strong> coman<strong>di</strong>" e<br />

#+ "coman<strong>di</strong> multipli su una riga" nell’antecedente<br />

#+ "<strong>Guida</strong> <strong>avanzata</strong> <strong>di</strong> <strong>scripting</strong> <strong>Bash</strong>."<br />

###<br />

# Nota:<br />

# La versione "read -a nome_array" del comando "read"<br />

#+ incomincia l’inizializzazione <strong>di</strong> nome_array dall’in<strong>di</strong>ce zero.<br />

# ArraySparso non definisce nessun valore per l’elemento con in<strong>di</strong>ce zero.<br />

###<br />

# L’utente che avesse bisogno <strong>di</strong> leggere/scrivere un array sparso sia da/su un<br />

#+ <strong>di</strong>spositivo <strong>di</strong> memorizzazione esterno che da/su un socket <strong>di</strong> comunicazione<br />

#+ dovrebbe inventarsi un co<strong>di</strong>ce <strong>di</strong> lettura/scrittura adatto allo scopo.<br />

###<br />

# Esercizio: scrivete un tale co<strong>di</strong>ce.<br />

unset ArraySparso<br />

echo<br />

echo ’- - Con<strong>di</strong>zione alternativa (ma senza mo<strong>di</strong>fica)- -’<br />

echo ’- Nessuna sostituzione in caso <strong>di</strong> referenziazione nulla -’<br />

echo -n ${VarNulla+’NonImpostata’}’ ’<br />

echo ${VarNulla}<br />

unset VarNulla<br />

echo ’- Nessuna sostituzione in caso <strong>di</strong> referenziazione nulla -’<br />

echo -n ${VarNulla:+’NonImpostata’}’ ’<br />

echo ${VarNulla}<br />

unset VarNulla<br />

echo ’- Sostituzione in caso <strong>di</strong> contenuto nullo -’<br />

echo -n ${VarVuota+’Vuota’}’ ’ # Vuota<br />

echo ${VarVuota}<br />

VarVuota=”<br />

echo ’- Nessuna sostituzione in caso <strong>di</strong> contenuto nullo -’<br />

echo -n ${VarVuota:+’Vuota’}’ ’ # Solo uno spazio<br />

echo ${VarVuota}<br />

VarVuota=”<br />

echo ’- Sostituzione solo in presenza <strong>di</strong> un contenuto -’<br />

# Sostituzione letterale<br />

echo -n ${VarQualcosa+’Contenuto’}’ ’ # Contenuto Letterale<br />

echo ${VarQualcosa}<br />

# Invocazione <strong>di</strong> funzione<br />

echo -n ${VarQualcosa:+ $(_semplice) }’ ’ # Funzione_semplice Letterale<br />

echo ${VarQualcosa}<br />

echo<br />

echo ’- - Array Sparso - -’<br />

740

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

Saved successfully!

Ooh no, something went wrong!