Top 10 esempi di bash cool e fantastici

Top 10 esempi di bash cool e fantastici
Nel linguaggio di programmazione, ci sono principalmente tre tipi di loop (per, mentre e fino a). Tutti e tre i tipi di loop sono importanti in modi diversi. Non c'è molta differenza tra il tempo e fino a quando i loop, ma per loop funziona in modo molto diverso da questi due. Ecco perché puoi utilizzare questi loop per creare script interattivi come utente Bash.

Quindi l'apprendimento di esempi di bash può aiutarti a migliorare le tue abilità nella creazione di script. Quindi, in questo tutorial, includeremo 10 esempi fantastici e fantastici che puoi provare a migliorare le tue abilità di scripting.

10 Esempi di loop bash cool e fantastici

In questa sezione, spiegheremo vari esempi e gli approcci che abbiamo usato nei loop.

Comando seq con loop in bash

È possibile utilizzare il comando SEQ nel ciclo for per creare la sequenza di numeri. Ad esempio, hai uno script bash "file.sh "che contiene il seguente codice:

#!/Bin/Bash
per un in $ (seq 5 2 25)
Fare
echo "numeri di $ a sono"
Fatto

Otterrai il seguente risultato dopo aver eseguito lo script nel terminale:

./File.sh

Rinomina i file utilizzando loop

Utilizzando uno script bash, è possibile utilizzare i loop per rinominare più file. Ad esempio, hai più .file txt e vuoi aggiungere la data corrente con il nome. Quindi ecco lo script di esempio che puoi usare:

#!/Bin/Bash
per x in $ (ls *.TXT); Fare
MV $ X $ (Basename $ X .txt) _ $ (data +%d%m).TXT
Fatto

Ora puoi eseguire lo script e cambierà il nome di tutti .file txt aggiungendo la data corrente:

./Il mio file.sh


Allo stesso modo, è possibile modificare le estensioni di un file tramite un singolo script. Quindi cambiamo il .estensione txt in .Sh attraverso la seguente sceneggiatura:

#!/Bin/Bash
per x in *.TXT; Fare
MV - "$ x" "$ x%.TXT.sh"
Fatto

Dopo aver eseguito lo script nel terminale, otterrai il .sh piuttosto che .file txt:

./Il mio file.sh

Infinito per loop in bash

Quando non viene definita alcuna condizione di terminazione nel ciclo, è chiamato un ciclo infinito. In questo esempio di un ciclo bash, guarderemo l'infinito per loop in bash. Il seguente INFINITE per loop è definito da un doppio punto e virgola (;) e non contiene parti iniziali, di azione o di terminazione.

Lo script seguente continuerà fino a quando non si preme CTRL+C o digita "ESCIRE" come input. Questo script stamperà ogni numero da 10 a 50 che viene dato come input. Altrimenti, stamperà “Il numero è fuori portata."

#!/Bin/Bash
#ciclo infinito
per (( ; ; ))
Fare
Echo "Immettere un numero tra 10 e 50"
Leggi n
if [$ n == "smettila"]
Poi
Echo "terminato"
uscita 0
fi
if (($ n < 10 || $n > 50))
Poi
Echo "Il numero è fuori portata"
altro
echo "Il numero è $ n"
fi
Fatto

Abbiamo dato 45 e 23 input validi sullo script sopra. Successivamente, stampiamo 2 come input che indica nell'output che “il numero è fuori portata."Dopodiché, per chiudere lo script, digitiamo Scet come input. Qui puoi anche premere Ctrl+C per lasciare il loop infinito.

Tre espressione in bash

È noto dal nome del ciclo a tre espressioni che comprende tre espressioni, chiamate anche espressioni di controllo. La prima espressione (exp1) è l'inizializzatore, la seconda espressione (exp2) è il test o la condizione di loop e la terza espressione (exp3) è l'espressione/passo di conteggio. Eseguiamo un ciclo a tre espressioni in Bash:

#!/Bin/Bash
per ((n = 5; n> = 1; n--))
Fare
Echo "Book $ n"
Fatto

Durante l'esecuzione dello script sopra, otterrai il seguente output.

Loop con più condizioni

Abbiamo usato il loop fino a più condizioni nel seguente esempio di ciclo bash. In questa sceneggiatura, abbiamo preso "M" e "N", due variabili i cui valori sono rispettivamente 20 e 10 e mantenuti il ​​limite di 15. Qui mettiamo insieme le condizioni "M" e "N" nel ciclo, in cui il ciclo verrà eseguito fino a quando il valore di "m" è inferiore al limite e "n" è più del limite.

#!/Bin/Bash
limite = 15
M = 20
n = 10
fino a [[$ m -lt $ limite || $ n -gt $ limit]];
Fare
echo "se m = $ m quindi n = $ n"
((M--))
((N ++))
Fatto

Puoi vedere che l'esecuzione dello script sopra verrà eseguito fino a quando i valori di "M" e "N" arrivano allo stesso livello.

Leggi il file in bash

In Bash, puoi leggere il contenuto di un file in diversi modi. In questo esempio di Bash Loop, leggeremo i contenuti del file tramite il nome file. Possiamo usare il seguente script per leggere il file in bash:

#!/Bin/Bash
Echo "Il contenuto del file immesso è:"
Mentre
linea di lettura
Fare
Echo $ Line
Fatto <~Documents/Linuxhint.txt

Dopo aver eseguito lo script sopra, è possibile leggere il contenuto completo del file immesso.

Scrivere a un file

È possibile utilizzare i loop nello script per modificare un file direttamente dal terminale. Ad esempio, se abbiamo un file txt "Esempio.txt ”e vogliamo aggiungere alcune informazioni, quindi possiamo usare il seguente script:


Se esegui lo script sopra, ti chiederà di inserire i dettagli:


Una volta inseriti i dettagli, si prega di Ctrl + D per salvare il file e Ctrl + Z per completare il processo correttamente.

Break and Continua il ciclo di istruzione in bash

In Bash, puoi continuare la tua dichiarazione loop dopo la pausa. L'istruzione di pausa esce dal ciclo e quindi passa il controllo alla dichiarazione successiva. L'iterazione numero due inizia dopo che l'attuale iterazione è stata saltata con la stessa istruzione continua.

#!/Bin/Bash
Num = 16
fino a quando non è falso
Fare
((num--))
if [[$ num -eq 13]]
Poi
Continua
elif [[$ num -le 4]]
Poi
rottura
fi
echo "linuxhint = $ num"
Fatto

Nella seguente sceneggiatura bash, puoi vedere che quando il "num" è uguale a 13, salta il resto del corpo del ciclo e salta alla successiva iterazione. Allo stesso modo, il ciclo si romperà quando "num" è inferiore o uguale a 4.


La sceneggiatura sopra mostra che il ciclo inizia a 15, si rompe a 13 e continua fino a 5.

Calcolo di una media in bash

È possibile calcolare la media eseguendo lo script in un ciclo bash. In questo, l'utente può calcolare la media dei numeri all'interno di un intervallo definito. Il seguente script calcola la media dell'input fornito dall'utente.

#!/Bin/Bash
marks = "0"
Medio = "0"
Sum = "0"
Num = "0"
mentre è vero; Fare
echo -n "Inserisci i segni per calcolare la media o premere 'q' per abortire/finire:"; Leggi i segni;
if ["$ marks" = "Q"]; Poi
Echo "I segni medi sono: $ media"
rottura
Elif ["$ marks" -Lt 50] || ["$ marks" -gt 100]; Poi
Echo "i segni dovrebbero essere tra 50 e 100. Inserisci i tuoi voti: "
altro
Sum = $ (($ Sum + $ Marks))
Num = $ (($ num + 1))
Medio = $ (($ Sum / $ num))
fi
Fatto

Se l'input non rientra nell'intervallo, viene stampato un messaggio che “Inserisci i segni."Quando l'utente preme" Q "dopo aver inserito tutti i marchi, lo script calcola la media approssimativa di tutti i numeri inseriti.

Quando viene eseguito lo script sopra, il tuo output sarà qualcosa del genere.

Leggi gli argomenti della riga di comando in bash

In Bash, puoi leggere gli argomenti della linea di comando singolo usando loop. Lo script stampa i valori dell'argomento formattato. Eseguiamo gli argomenti della riga di comando in bash usando un ciclo while nel seguente script. Attraverso questo, stamperai il valore passando l'opzione valida del valore dell'argomento con l'aiuto di un singolo comando.

#!/Bin/Bash
mentre gettopts n: f: m: opt
Fare
caso "$ opt" in
N) name = $ optarg ;;
F) fathername = $ optarg ;;
M) MotherName = $ optarg ;;
*) echo "non valido"
uscita 1 ;;
Esac
Fatto
printf "Nome: $ name \ nfather Nome: $ fathername \ nmother Nome: $ MotherName \ n"


Pertanto, è possibile stampare i valori degli argomenti formattati sull'output eseguendo lo script sopra in una presa.

Avvolgendo

Quindi questa è stata la breve informazione sugli esempi di 10 cool e fantastici bash che puoi imparare. Abbiamo usato diversi tipi di loop per creare facilmente lo script interattivo. Inoltre, abbiamo anche spiegato gli approcci di base utilizzati negli esempi di cui sopra. Se hai dettagli approfonditi sui loop di Bash, visita il nostro sito ufficiale per saperne di più.