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.

# RIEPILOGO:<br />

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

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

# Una stringa può essere considerata come un Classico-Array<br />

#+ <strong>di</strong> elementi (caratteri).<br />

# Un’operazione stringa agisce su tutti gli elementi (caratteri) della stringa<br />

#+ (a livello concettuale, almeno).<br />

###<br />

# La notazione: ${nome_array[@]} rappresenta tutti gli elementi<br />

#+ dell’Array-<strong>Bash</strong> nome_array.<br />

###<br />

# Le operazioni stringa con Notazione Estesa si possono applicare a tutti<br />

#+ gli elementi <strong>di</strong> un array.<br />

###<br />

# Questo andrebbe letto come operazione Per-Ogni su un vettore <strong>di</strong> stringhe.<br />

###<br />

# I parametri sono simili ad un array.<br />

# L’inizializzazione <strong>di</strong> un array <strong>di</strong> parametri per uno script e quella<br />

#+ <strong>di</strong> un array <strong>di</strong> parametri per una funzione <strong>di</strong>fferiscono solo per quanto<br />

#+ riguarda ${0} che, nel primo caso, non cambia mai la propria impostazione.<br />

###<br />

# L’elemento con in<strong>di</strong>ce zero <strong>di</strong> un array <strong>di</strong> parametri <strong>di</strong> uno script<br />

#+ contiene sempre il nome dello script.<br />

###<br />

# L’elemento con in<strong>di</strong>ce zero <strong>di</strong> un array <strong>di</strong> parametri <strong>di</strong> una funzione NON<br />

#+ contiene il nome della funzione.<br />

# Il nome della funzione corrente si ottiene dalla variabile $FUNCNAME.<br />

###<br />

# Ecco un rapido elenco (rapido, non breve).<br />

echo<br />

echo ’- - Verifica (ma senza cambiamenti) - -’<br />

echo ’- referenziazione nulla -’<br />

echo -n ${VarNulla-’NonImpostata’}’ ’ # Non impostata<br />

echo ${VarNulla} # Solo a_capo<br />

echo -n ${VarNulla:-’NonImpostata’}’ ’ # Non impostata<br />

echo ${VarNulla} # Solo a_capo<br />

echo ’- contenuto nullo -’<br />

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

echo ${VarVuota} # Solo a_capo<br />

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

echo ${VarVuota} # Solo a_capo<br />

echo ’- impostata -’<br />

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

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

echo ’- Array Sparso -’<br />

echo ${Array[@]-’non impostato’}<br />

# Tempo <strong>di</strong> ASCII-Art<br />

# Stato S==si, N==no<br />

737

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

Saved successfully!

Ooh no, something went wrong!