Questo tutorial esaminerà i loop, un concetto fondamentale nello scripting e nella programmazione in generale. Ci concentreremo specificamente su come funzionano per i loop.
Per la struttura di base del ciclo
Prima di script esempi per i loop, discutiamo della struttura. Per i loop adottano la sintassi generale:
per- In
Fare
Fatto
È possibile passare l'elenco di elementi come un array, una serie di letterali a stringa (separati da spazi) o una serie di numeri.
Consideriamo ora alcuni esempi e illustriamo come funzionano per i loop.
Esempio 1
Considera l'esempio mostrato di seguito. Loop su un elenco di valori di stringa e stampiamo la stringa corrente nel loop.
#!/usr/bin/zsh
per un drink in acqua di vino da caffè da tè
Fare
echo "bevanda: $ bevande"
Fatto
Una volta eseguito lo script, dovresti vedere ogni elemento nell'elenco stampato, come mostrato nell'esempio seguente:
$ ./per.sh
Bere acqua
Bere tè
Bere caffè
Bere vino
Esempio 2
È inoltre possibile specificare il valore dell'elenco nel ciclo for come sequenza di numeri. Lo fai impostando i valori di avvio e finale. La sintassi è sotto:
Start ... end
Prendi l'esempio per loop di seguito per i valori del ciclo 10 volte.
#!/usr/bin/zsh
Per i in 1… 10
Fare
Echo "Numero: $ i"
Fatto
Dovresti ottenere tutti i numeri tra 1 e 10 stampati al terminale.
Numero 1
Numero 2
..
Numero: 8
Numero 9
Numero: 10
Esempio 3
In alcuni casi, quando si utilizza l'intervallo di numeri, è necessario saltare i valori di un intervallo specifico. Ad esempio, per stampare i numeri pari tra 10 e 20, dovrai utilizzare un intervallo di 2.
Puoi farlo specificando l'incremento come terzo argomento dei gamme numerici.
La sintassi è:
Start ... End ... Increment
Di seguito è riportato un codice di esempio:
#!/usr/bin/zsh
Per I in 10… 20… 2
Fare
Echo "Numero: $ i"
Fatto
Il codice di esempio sopra deve stampare tutti i numeri pari tra 10 e 20. Di seguito è riportato un output di esempio:
Numero: 10
Numero: 12
..
Numero: 20
Esempio 4
Un altro caso di utilizzo comune per un ciclo per l'iterazione su una serie di articoli. Considera l'esempio mostrato di seguito:
#!/usr/bin/zsh
Database = ('Mysql' 'PostgreSQL' 'MongoDB' 'Redis' 'fauna' 'scarafaggio db')
per db in "$ database [@]";
Echo "Database: $ DB"
Fatto
Quanto sopra per il ciclo itederà ogni elemento nell'array e lo stamperà.
Database: mysql
Database: PostgreSQL
..
Database: fauna
Database: scarafaggio DB
Break and Continua dichiarazioni
È inoltre possibile utilizzare le parole chiave di interruzione e continuare per controllare il flusso del ciclo all'interno di uno script ZSH.
Cominciamo con la parola chiave di interruzione.
Break Key Word
È possibile utilizzare la parola chiave di interruzione per terminare il flusso di ciclo corrente e passare il controllo al blocco seguente. L'uso principale di questo è terminare il flusso del loop se una condizione specifica è vera.
Per esempio:
#!/usr/bin/zsh
per db in mysql postgresql mongodb redis fauna scarafaggio;
if [["$ db" == 'MongoDB']; Poi
rottura
fi
Echo "Database: $ DB"
Fatto
Nell'esempio sopra, ci avviciniamo all'articolo e rompe il flusso di loop se l'elemento corrente è mongodb.
Ecco un esempio di esempio:
Database: mysql
Database: PostgreSQL
Continua la parola chiave
D'altra parte, la parola chiave continua esce dall'attuale iterazione del loop e salta alla prossima iterazione.
Per esempio:
#!/usr/bin/zsh
per i in 1… 10; Fare
if [["$ i" == '5']; Poi
Continua
fi
Echo "Numero: $ i"
Fatto
Una volta che il ciclo è alla quinta iterazione, salterà e salterà al valore successivo nell'intervallo. Tale funzionalità porterà al 5 ° valore che non viene stampato.
Conclusione
Questo tutorial ha discusso di come implementare per loop in uno script ZSH. È bene notare che ZSH è basato su bash; Pertanto, la funzionalità Loop creata per Bash funzionerà anche per ZSH.