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.

# Per effettuare la selezione dei parametri, richiamate lo script<br />

#+ passandogli <strong>di</strong>versi argomenti.<br />

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

echo ’- Tutti -’<br />

echo ${VarQualcosa:0} # tutti i caratteri non-nulli<br />

echo ${Array[@]:0} # tutti gli elementi con un contenuto<br />

echo ${@:0} # tutti i parametri con un contenuto;<br />

# ad eccezione del parametro[0]<br />

echo<br />

echo ’- Tutti dopo -’<br />

echo ${VarQualcosa:1} # tutti i non-nulli dopo il carattere[0]<br />

echo ${Array[@]:1} # tutti quelli con un contenuto dopo<br />

#+ l’elemento[0]<br />

echo ${@:2} # i parametri non vuoti dopo param[1]<br />

echo<br />

echo ’- Intervallo dopo -’<br />

echo ${VarQualcosa:4:3} # era<br />

# I tre caratteri che si trovano dopo<br />

# il carattere[3]<br />

echo ’- Array sparso -’<br />

echo ${Array[@]:1:2} # quattro - L’unico elemento con un contenuto.<br />

# Dopo due elementi (se esistono).<br />

# il PRIMO CON UN CONTENUTO<br />

#+ (il PRIMO CON UN CONTENUTO viene<br />

#+ considerato come se avesse in<strong>di</strong>ce zero).<br />

# <strong>Bash</strong> considera SOLO gli elementi dell’array con un CONTENUTO<br />

# printf %q "${Array[@]:0:3}" # Provate questo<br />

# Nelle versioni 2.04, 2.05a e 2.05b,<br />

#+ <strong>Bash</strong> non tratta nel modo atteso, usando questa notazione, gli array sparsi.<br />

#<br />

# L’attuale manutentore <strong>di</strong> <strong>Bash</strong>, Chet Ramey, correggerà questa anomalia<br />

#+ in una prossima versione.<br />

echo ’- Array non-sparso -’<br />

echo ${@:2:2} # I due parametri successivi al parametro[1]<br />

# Nuovi can<strong>di</strong>dati per gli esempi sui vettori stringa:<br />

stringaZ=abcABC123ABCabc<br />

arrayZ=( abcabc ABCABC 123123 ABCABC abcabc )<br />

sparsoZ=( [1]=’abcabc’ [3]=’ABCABC’ [4]=” [5]=’123123’ )<br />

echo<br />

echo ’ - - Stringa cavia - -’$stringaZ’- - ’<br />

echo ’ - - Array cavia - -’${arrayZ[@]}’- - ’<br />

echo ’ - - Array sparso - -’${sparsoZ[@]}’- - ’<br />

echo ’ - [0]==ref nulla, [2]==ref nulla, [4]==contenuto nullo - ’<br />

echo ’ - [1]=abcabc [3]=ABCABC [5]=123123 - ’<br />

742

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

Saved successfully!

Ooh no, something went wrong!