Bash durante gli esempi di loop

Bash durante gli esempi di loop
Tre tipi di loop vengono utilizzati nella programmazione bash. Mentre il loop è uno di questi. Come altri loop, un ciclo while viene utilizzato per svolgere attività ripetitive. Questo articolo mostra come è possibile utilizzare un ciclo while in uno script bash usando diversi esempi.

Sintassi di While Loop:

mentre [condizione]
Fare
comandi
Fatto

Il blocco iniziale e finale di il tempo Loop è definito da Fare E Fatto Parole chiave nello script bash. La condizione di terminazione è definita all'inizio del ciclo. Apri un editor di testo per scrivere uno script bash e testare i seguenti esempi di loop.

Esempio-1: itera il ciclo per un numero fisso di volte

Crea un file bash denominato mentre 1.sh Con i seguenti contenuti. Qui, il ciclo itederà 5 volte e stamperà il valore contatore in ogni iterazione.

#!/Bin/Bash
# Inizializza il contatore
n = 1
# Itera il ciclo per 5 volte
mentre [$ n -le 5]
Fare
# Stampa il valore di N in ogni iterazione
Echo "Running $ n time"
# Incrementa il valore di n di 1
((N ++))
Fatto

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

Esempio-2: Utilizzo dell'istruzione Break per l'uscita condizionale

la pausa L'istruzione viene utilizzata per uscire dal ciclo presto in base a una condizione particolare. Crea un file bash denominato mentre2.sh con il seguente codice. Qui, il ciclo è definito per iterare 10 volte, ma l'iterazione verrà interrotta quando il valore del contatore è 6.

#!/Bin/Bash
# Inizializza il contatore
n = 1
# Itera il ciclo per 10 volte
mentre [$ n -le 10]
Fare
# Controlla il valore di n
Se [$ n == 6]
Poi
Echo "terminato"
rottura
fi
# Stampare il valore corrente di n
Echo "Posizione: $ n"
# Incrementa il valore di n di 1
((N ++))
Fatto

Produzione:

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

Esempio-3: Utilizzo dell'istruzione Continua per omettere un determinato passaggio

Crea un file bash denominato mentre3.sh con il seguente codice. In questo esempio, il ciclo ripeterà per 5 volte, ma non stamperà tutte e 5 le posizioni. Quando il ciclo itera per la terza volta, l'istruzione continua verrà eseguita e il ciclo andrà per la prossima iterazione senza stampare il testo della terza posizione.

#!/Bin/Bash
# Inizializza il contatore
n = 0
# Itera il ciclo per 5 volte
mentre [$ n -le 5]
Fare
# Incrementa il valore di n di 1
((N ++))
# Controlla il valore di n
Se [$ n == 3]
Poi
Continua
fi
# Stampare il valore corrente di n
Echo "Posizione: $ n"
Fatto

Produzione:

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

Esempio-4: leggi l'argomento della riga di comando con le opzioni

Crea un file bash denominato mentre4.sh con il seguente codice. Qui, il ciclo viene utilizzato per leggere gli argomenti della riga di comando con le opzioni. Lo script stamperà i valori dell'argomento formattato dopo l'esecuzione se i valori di tre argomenti passano con l'opzione valida.

#!/Bin/Bash
# Leggi i valori degli argomenti della riga di comando con l'opzione usando loop
mentre gettopts n: a: e: opt
Fare
Caso "$ opt"
In
n) name = $ optarg ;;
a) indirizzo = $ optarg ;;
e) email = $ optarg ;;
*) Echo "Opzione non valida"
uscita 1 ;;
Esac
Fatto
# Stampa i valori dell'argomento
printf "Nome: $ name \ naddress: $ indirizzo \ nemail: $ email \ n"

Produzione:

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

Esempio-5: leggi la riga del file per riga

Crea un file bash denominato mentre5.sh con il seguente codice. Qui, un nome file verrà fornito nel primo argomento di comando al momento dell'esecuzione. Se il file esiste, il contenuto del file verrà stampato per riga utilizzando il loop; Altrimenti, verrà stampato un messaggio di errore.

#!/Bin/Bash
# Controllare che il valore dell'argomento della riga di comando è fornito o no
if [$# -gt 0]; Poi
# Assegna il nome file dal valore dell'argomento della linea COMAND
nome file = $ 1
# Leggi la riga del file per riga
mentre la riga di lettura; Fare
# Stampa ogni riga
Echo $ Line
Fatto < $filename
altro
# Stampa Messaggio se non viene fornito alcun argomento
Echo "Il valore dell'argomento manca."
fi

Produzione:

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

Esempio-6: scrivi il contenuto in un file

Crea un file bash denominato mentre6.sh con il seguente codice. Qui, il nome file verrà preso dall'utente in cui verrà scritto il contenuto di testo. L'utente deve digitare Ctrl+D dopo aver digitato il contenuto del file.

#! /Bin/Bash
echo -n "Immettere il nome file per creare:"
# Prendi il nome file che verrà creato
Leggi il nome file
# Leggi il contenuto del file dal terminale
mentre la riga di lettura
Fare
echo $ riga >> $ nome file
Fatto

Produzione:

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

Esempio-7: creazione di un ciclo infinito

A volte, è necessario dichiarare un ciclo infinito per vari scopi di programmazione. Crea un file bash denominato while.sh e testare il codice del ciclo infinito. Non è impostata alcuna condizione di terminazione per il ciclo in questo esempio. Questo tipo di loop è chiamato anello infinito. Qui, una dichiarazione di uscita viene utilizzata per smettere dall'infinito loop. Quindi, questo ciclo verrà iterato 10 volte e quando il valore di iterazione diventa uguale a 10, l'istruzione di uscita verrà eseguita per uscire dal ciclo infinito.

#!/Bin/Bash
# Inizializza il contatore
n = 1
# Dichiara un ciclo infinito
Mentre :
Fare
printf "Il valore corrente di n = $ n \ n"
Se [$ n == 3]
Poi
Echo "buono"
elif [$ n == 5]
Poi
Echo "Bad"
Elif [$ n == 7]
Poi
echo "brutto"
Elif [$ n == 10]
Poi
uscita 0
fi
# Incrementa il valore di n di 1
((N ++))
Fatto
# Prendi il nome file che verrà creato
Leggi il nome file
# Leggi il contenuto del file dal terminale
mentre la riga di lettura
Fare
echo $ riga >> $ nome file
Fatto

Produzione:

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

Esempio-8: usando il ciclo C

Crea un file bash denominato mentre 8.sh con il seguente codice. Qui, il ciclo di while è stato dichiarato in un formato in stile C che iterirà 5 volte aumentando il valore del contatore di 10.

#!/Bin/Bash
# Inizializza il contatore
n = 5
# Definisci il tempo in stile C
mentre ((n <= 50))
Fare
Echo $ n
# Contatore di incremento di 10
((n = n+10))
Fatto

Produzione:

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

Conclusione:

In questo tutorial sono stati spiegati diversi usi del ciclo. Spero che l'utente di Bash sia in grado di utilizzare questo ciclo correttamente nella propria sceneggiatura dopo aver praticato questi esempi.