Bash per esempi di loop

Bash per esempi di loop
I loop sono utilizzati in qualsiasi linguaggio di programmazione per eseguire ripetutamente lo stesso codice. Tre tipi di loop sono utilizzati principalmente nella programmazione per svolgere attività ripetitive. Questi sono per, mentre e do-do-while/ripetiti ciclo continuo. Puoi richiedere loop sullo script bash in vari modi. In questo articolo sono stati menzionati alcuni utili esempi di bash per loop.

Sintassi di per loop:

# Loop attraverso un elenco
per valore nell'elenco
Fare
comandi
Fatto
# valori specificati in loop
per valore in file1 file2 file3
Fare
comandi
Fatto
# Loop attraverso stringhe derivanti da un comando
per valore in $ (comando Linux)
Fare
comandi
Fatto
# Loop attraverso i numeri di incremento o decremento
# procedurale tradizionale per loop
per ((i = 0; i<10; i++)
Fare
comandi
Fatto

Secondo la sintassi di cui sopra, il blocco iniziale e finale di per Loop è definito da Fare E Fatto Parole chiave nello script bash. Gli usi dei diversi loop hanno mostrato nella parte successiva di questo tutorial.

Esempio-1: leggere valori statici

Crea un file bash denominato Loop1.sh con il seguente script per leggere i valori da un elenco che utilizza per loop. In questo esempio, 5 valori statici sono dichiarati negli elenchi. Questo ciclo iterirà 5 volte e ogni volta riceverà un valore dagli elenchi e lo memorizzerà nella variabile denominata colore che verrà stampata all'interno del loop.

#!/Bin/Bash
# Definisci loop per leggere i valori delle stringhe
per il colore in rosso blu verde rosa
Fare
# Stampa il valore della stringa
Echo "Color = $ Color"
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-2: Variabile di array di lettura

È possibile utilizzare per loop per iterare i valori di un array. Crea un nuovo file bash denominato Loop2.sh Con il seguente script. In questo esempio, il ciclo recupera i valori da una variabile di array denominata Colorlist, e stamperà l'output solo se il Rosa Il valore si trova negli elementi dell'array.

#!/Bin/Bash
# Dichiarare e array
Colorlist = ("rosso bianco rosa blu")
# Definisci loop per iterare i valori dell'array
per il colore in $ colorlist
Fare
# Controllare che il valore è rosa o no
if [$ color == 'rosa']
Poi
Echo "Il mio colore preferito è $ Color"
fi
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-3: lettura degli argomenti della linea di comando

I valori degli argomenti della linea di comando possono essere iterati utilizzando per loop in bash. Crea un nuovo file bash denominato Loop3.sh con il seguente script per leggere e stampare i valori degli argomenti della riga di comando utilizzando per loop.

#!/Bin/Bash
# Definisci loop per leggere i valori degli argomenti
per myval in $*
Fare
# Stampa ogni argomento
echo "argomento: $ myval"
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra. Qui sono stati forniti due argomenti come argomenti di comando. Questi sono 'Linux' E 'Suggerimento'.

Esempio-4: trovare un numero dispari e pari usando tre espressioni

La sintassi in stile C di For Loop è una sintassi di tre espressioni. La prima espressione indica l'inizializzazione, la seconda espressione indica la condizione di terminazione e la terza espressione indica incremento o decremento. Crea un file bash denominato Loop4.sh con il seguente script per scoprire i numeri dispari e pari da 1 a 5.

#!/Bin/Bash
# Definisci per loop in formato in stile C
per ((n = 1; n<=5; n++ ))
Fare
# Controllare che il numero è uniforme o no
if (($ n%2 == 0))
Poi
echo "$ n è pari"
altro
echo "$ n è strano"
fi
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-5: lettura del contenuto del file

È possibile utilizzare per loop per leggere il contenuto di qualsiasi file utilizzando il 'gatto'Comando. Supponiamo di avere un file denominato 'giorni feriali.TXT'che contiene il nome di tutti i giorni feriali. Ora, crea un file bash denominato Loop5.sh Per leggere e stampare il contenuto del file.

#!/Bin/Bash
# Inizializza il contatore
i = 1
# Definisci per loop per leggere il file di testo
per var nel giorno della settimana del gatto.TXT'
Fare
# Stampa il contenuto del file
Echo "Weekday $ i: $ var"
((i ++))
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-6: Crea infinito per loop

Crea un Bash chiamato Loop6.Bash con la seguente sceneggiatura per sapere il modo di dichiarare infinito per loop. Qui, il ciclo iterirà per i tempi infiniti e stamperà il valore del contatore fino a quando l'utente non preme CTRL+C.

#!/Bin/Bash
# Inizializza il contatore variabile
contatore = 1
# Visualizza il messaggio per la terminazione
Echo "Premi Ctrl+C per terminare dal loop"
# Definisci Infinite Loop
per (( ;; ))
Fare
# Stampa il numero di iterazione
Echo "Iteterating per $ Counter Time."
# Aspetta 1 secondo
Sonno 1
# Incrementa il contatore
((Counter ++))
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-7: utilizzo di per loop con sostituto del comando

Crea un file bash denominato Loop7.Bash con il seguente script per conoscere l'uso per loop per leggere e stampare l'output del comando.

#!/Bin/Bash
Echo "Tutti i file bash che iniziano con 'A' sono:"
# Leggi l'output del sostituto del comando utilizzando per loop
per val in $ (ls a*.colpire)
Fare
# Stampa il nome del file
Echo "$ val"
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-8: uscita condizionale con pausa

Crea un file bash denominato Loop8.Bash con il seguente script per sapere il modo di uscire dal ciclo in base a qualsiasi condizione particolare.

#!/Bin/Bash
# Definisci un ciclo per iterare 10 volte
per ((i = 1; i<=10; i++ ))
Fare
# Definisci le condizioni per terminare il ciclo
if (($ i%3 == 0 && $ i%6 == 0))
Poi
# Termina dal ciclo
eco "terminato."
rottura
altro
# Stampa il valore corrente di i
echo "Il valore attuale di i è: $ i"
fi
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-9: continuazione anticipata con la dichiarazione Continua

Crea un file bash denominato Loop8.Bash con il seguente script per sapere come omettere una o più istruzioni dal loop usando un'istruzione continua basata sulla condizione particolare.

#!/Bin/Bash
# Dichiara un array associativo
dichiarare -i candidati
# Intiaturalizzare i valori dell'array
Candidati = ([1022] = "presente" [1034] = "presente" [1045] = "assente" [1067] = "presente")
Echo "Elenco dell'ID del richiedente presente:"
per k in $ !Candidati [@]
Fare
# Filtra l'ID del richiedente che è assente
if [$ candidati [$ k] == "assente"]; Poi
Continua
altro
# Stampa l'ID del richiedente presente
Echo $ k
fi
Fatto

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Conclusione:

Diversi usi di per loop sono stati spiegati in questo tutorial utilizzando vari esempi per aiutare gli utenti bash a conoscere gli scopi di utilizzare per loop correttamente e applicarlo nel proprio script.