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.

ash$ seq -s : 5<br />

1:2:3:4:5<br />

Sia jot che seq si rivelano utili in un ciclo for.<br />

Esempio 12-49. Utilizzo <strong>di</strong> seq per generare gli argomenti <strong>di</strong> un ciclo<br />

#!/bin/bash<br />

# Uso <strong>di</strong> "seq"<br />

echo<br />

Capitolo 12. Filtri, programmi e coman<strong>di</strong> esterni<br />

for a in ‘seq 80‘ # oppure for a in $( seq 80 )<br />

# Uguale a for a in 1 2 3 4 5 ... 80 (si risparmia molta <strong>di</strong>gitazione!).<br />

#+ Si potrebbe anche usare ’jot’ (se presente nel sistema).<br />

do<br />

echo -n "$a "<br />

done # 1 2 3 4 5 ... 80<br />

# Esempio dell’uso dell’output <strong>di</strong> un comando per generare la [lista] <strong>di</strong> un<br />

#+ ciclo "for".<br />

echo; echo<br />

CONTO=80 # Sì, ’seq’ può avere un parametro.<br />

for a in ‘seq $CONTO‘ # o for a in $( seq $CONTO )<br />

do<br />

echo -n "$a "<br />

done # 1 2 3 4 5 ... 80<br />

echo; echo<br />

INIZIO=75<br />

FINE=80<br />

for a in ‘seq $INIZIO $FINE‘<br />

# Fornendo due argomenti "seq" inizia il conteggio partendo dal primo e<br />

#+ continua fino a raggiungere il secondo.<br />

do<br />

echo -n "$a "<br />

done # 75 76 77 78 79 80<br />

echo; echo<br />

INIZIO=45<br />

INTERVALLO=5<br />

FINE=80<br />

327

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

Saved successfully!

Ooh no, something went wrong!