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.