I loop sono la struttura dei dati utilizzata in molte lingue per eseguire alcune attività nelle iterazioni i.e., ripetutamente fino a raggiungere l'obiettivo reale. Uno dei tanti loop della programmazione è il ciclo "per". Il ciclo "per" può essere usato da solo e si dice che più di un ciclo "per" in una sequenza sia "nidificato". Pertanto, abbiamo deciso di utilizzare il "nidificato" per i loop nella programmazione bash all'interno dei nostri esempi dell'articolo di oggi. Quindi, iniziamo con l'apertura del guscio del terminale in Ubuntu 20.04 Sistema tramite il collegamento "Ctrl+Alt+T".
Esempio 01: semplice per loop
All'interno della shell del terminale, creeremo un nuovo file bash chiamato "Bash.sh "con l'istruzione" touch ". Questo file verrà creato nella home directory del nostro sistema. Questo file deve essere aperto in alcuni editor i.e., nano, vim o testo per aggiungere codice ad esso. Quindi, abbiamo aperto questo file appena creato dalla cartella domestica all'interno dell'editor "Nano" secondo la mostra di sotto l'istruzione Nano nella shell seguita dal nome di un file.
$ touch bash.sh
$ nano bash.sh
Abbiamo aggiunto l'estensione bash all'interno del file bash come "#!/bin/bash ". Il semplice ciclo "per" è stato avviato con parentene doppie "semplici" come di seguito. Questo ciclo è iniziato con il valore 1 (variabile "i") e continuerà fino a quando il valore non è uguale a 5. Ad ogni iterazione, l'operatore di incremento è stato anche utilizzato per aumentare il valore di una variabile "i" di uno. La parte "do" del loop "per" viene visualizzato qui. Ad ogni iterazione, la parte "do" verrà eseguita e l'istruzione Echo mostrerà il numero di iterazione usando "$ i" in esso. Il termine "fatto" indica la fine del ciclo. Salviamo il nostro codice bash per l'esecuzione. Premere Ctrl+X per uscire. Il codice è allegato qui.
Durante l'esecuzione di questo file bash, abbiamo tutti i numeri di iterazione stampati sulla shell. L'output è presentato nell'immagine fissa.
$ bash bash.sh
Esempio 02: Nest per loop
Cominciamo con il nido per loop ora. Per questo, dobbiamo aggiungere due loop "per" uno dopo l'altro in una sequenza all'interno del codice bash. Pertanto, abbiamo aperto lo stesso file e aggiornato il nostro codice di seguito. Entrambi i loop "per" saranno avviati da 1 e fine al valore 3 con un incremento di 1. Il ciclo interno eseguirà interamente io.e., fino a tre valori, sulla prima esecuzione del loop esterno. Alla prossima iterazione del ciclo esterno, il ciclo interno "per" verrà eseguito di nuovo 3 volte al valore 3 e così via anche per l'ultima iterazione. Il ciclo interno verrà ripetuto 9 volte, mentre il ciclo esterno sarà gestito 3 volte in questo modo. Il ciclo esterno non può andare al suo successivo incremento fino a quando il ciclo interno si esegue completamente 3 volte. Il ciclo interno sarà responsabile di mostrare il numero di iterazione del ciclo esterno e il ciclo interno che utilizza la dichiarazione "eco" all'interno della sua clausola "do". Entrambi i loop sono stati chiusi tramite "fatto". Il codice è allegato qui.
Durante l'esecuzione di questo codice aggiornato con il comando bash, abbiamo eseguito il ciclo interno 9 volte.e., 3 volte per ogni iterazione del loop esterno. L'output è presentato nell'immagine fissa.
$ bash bash.sh
Esempio 03: nidificato per loop in una riga
Il ciclo nidificato "per" può anche essere utilizzato all'interno del codice bash in una singola riga. Quindi, abbiamo aggiornato lo stesso file bash dopo averlo aperto all'interno dell'editor Nano di seguito. Per il primo ciclo "per", abbiamo usato i valori x, y e z. Per il ciclo interno "per", abbiamo usato tre numeri 1, 3 e 5. All'interno dell'istruzione "do" verranno visualizzati sia i valori di iterazione del loop interno che esterno. Entrambi i loop sono terminati usando le clausole "fatte" mostrate di seguito. Il codice è allegato qui.
Durante l'esecuzione di questo pezzo di codice a 1 riga, abbiamo mostrato l'output di seguito. Per ogni valore del ciclo esterno, il ciclo interno viene eseguito fino ai suoi tre valori i.e., 1, 3, 5. L'output è presentato nell'immagine fissa.
$ bash bash.sh
Esempio 04: nidificato per loop
Facciamo un altro esempio per illustrare il funzionamento del ciclo nidificato "per". Questa volta, abbiamo usato il ciclo esterno per un totale di 10 iterazioni a partire da 1 a 10. All'interno di questo ciclo, è stato utilizzato un altro ciclo "per". Il ciclo interno "per" ha utilizzato la funzione "seq" per creare una sequenza di qualsiasi carattere moltiplicato per il valore di iterazione del ciclo esterno. Ciò significa che il valore del ciclo esterno deciderà quanti personaggi verranno visualizzati sulla shell. All'interno del ciclo interno, abbiamo usato l'istruzione "eco" usando il flag "-n" per testare se la stringa successiva da inserire nell'istruzione è un carattere o è vuota. Il carattere "*" è stato aggiunto come valore da moltiplicare per il numero di iterazione. Il primo loop "per" termina e un'altra dichiarazione "eco" sarà usata per mettere la rottura della linea. L'esterno per loop termina dopo 10 iterazioni. Salviamo questo codice per vedere il suo risultato sulla shell. Il codice è allegato qui.
Durante l'esecuzione di questo codice bash, abbiamo ottenuto il bellissimo modello mostrato di seguito di personaggi "*" in una sequenza da 1 a 10 in aumento gradualmente. L'output è presentato nell'immagine fissa.
$ bash bash.sh
Conclusione
Per riassumere, questo riguardava l'uso del ciclo nidificato "per" nella sceneggiatura di Bash di Ubuntu 20.04 Sistema Linux. Abbiamo discusso degli esempi per vedere un semplice loop "per" in bash, loop "per" nidificato e un ciclo "per" nidificato in una sceneggiatura bash.