10 exemples de boucles Bash sympas et géniaux

10 Exemples De Boucles Bash Sympas Et Geniaux



Dans le langage de programmation, il existe principalement trois types de boucles (for, while et until). Les trois types de boucles sont importants de différentes manières. Il n'y a pas beaucoup de différence entre les boucles while et until, mais la boucle for fonctionne assez différemment des deux. C'est pourquoi vous pouvez utiliser ces boucles pour créer des scripts interactifs en tant qu'utilisateur bash.

Ainsi, l'apprentissage d'exemples bash peut vous aider à améliorer vos compétences dans la création de scripts. Donc, dans ce didacticiel, nous inclurons 10 exemples de boucles bash sympas et impressionnants que vous pouvez essayer pour améliorer vos compétences en script.







10 exemples de boucles Bash sympas et géniaux

Dans cette section, nous expliquerons divers exemples et les approches que nous avons utilisées dans les boucles.



Commande Seq avec boucle dans Bash

Vous pouvez utiliser la commande seq dans la boucle for pour créer la séquence de nombres. Par exemple, vous avez un script bash 'File.sh' qui contient le code suivant :



#!/bin/bash
pour UN dans $ ( suite 5 deux 25 )
fais
écho 'Nombre de $A sommes'
Fini





Vous obtiendrez le résultat suivant après avoir exécuté le script dans le terminal :

. / fichier.sh




Renommer les fichiers à l'aide de la boucle

À l'aide d'un script bash, vous pouvez utiliser les boucles for pour renommer plusieurs fichiers. Par exemple, vous avez plusieurs fichiers .txt et souhaitez ajouter la date actuelle avec le nom. Voici donc l'exemple de script que vous pouvez utiliser :

#!/bin/bash
pour UN dans $ ( ls * .SMS ) ; fais
m.v. $A ( nom de base $A .SMS ) _$ ( Date % % m % ) .SMS
Fini


Maintenant, vous pouvez exécuter le script, et il changera le nom de tous les fichiers .txt en ajoutant la date actuelle :

. / MonFichier.sh



De même, vous pouvez modifier les extensions d'un fichier via un seul script. Changeons donc l'extension .txt en .sh via le script suivant :

#!/bin/bash
pour dossier dans * .SMS; fais
m.v. -- ' $fichier ' '{fichier%.txt}.sh'
Fini

Après avoir exécuté le script dans le terminal, vous obtiendrez les fichiers .sh plutôt que .txt :

. / MonFichier.sh


Boucle For infinie dans Bash

Lorsqu'aucune condition de terminaison n'est définie dans la boucle, on parle de boucle infinie. Dans cet exemple de boucle Bash, nous examinerons la boucle for infinie dans bash. La boucle for infinie suivante est définie par un double point-virgule ( ; ; ) et ne contient aucune partie initiale, action ou terminaison.

Le script ci-dessous continuera jusqu'à ce que vous appuyiez sur Ctrl + C ou que vous tapiez 'quitter' comme entrée. Ce script imprimera chaque nombre de 10 à 50 qui est donné en entrée. Sinon, il affichera 'le nombre est hors plage'.

#!/bin/bash
#boucle infinie
pour ( ( ; ; ) )
fais
écho 'Entrez un nombre entre 10 et 50'
lis n
si [ $ n == 'quitter' ]
alors
écho 'terminé'
sortir 0
être
si ( ( $n < dix || $n > cinquante ) )
alors
écho 'Le nombre est hors plage'
autre
écho 'Le nombre est $n '
être
Fini

Nous avons donné 45 et 23 entrées valides sur le script ci-dessus. Après cela, nous imprimons 2 en entrée, ce qui indique dans la sortie que 'le nombre est hors plage'. Après cela, pour fermer le script, nous tapons quit comme entrée. Ici, vous pouvez également appuyer sur Ctrl+C pour quitter la boucle infinie.

Boucle à trois expressions dans Bash

Il est connu du nom de la boucle de trois expressions qu'elle comprend trois expressions, également appelées expressions de contrôle. La première expression (EXP1) est l'initialiseur, la deuxième expression (EXP2) est le test de boucle ou la condition, et la troisième expression (EXP3) est l'expression/le pas de comptage. Exécutons une boucle à trois expressions dans bash :

#!/bin/bash
pour ( ( n = 5 ; n > = 1 ; n-- ) )
fais
écho 'Livre $n '
Fini

Lors de l'exécution du script ci-dessus, vous obtiendrez la sortie suivante.

Boucle avec plusieurs conditions

Nous avons utilisé la boucle until avec plusieurs conditions dans l'exemple de boucle bash suivant. Dans ce script, nous avons pris « m » et « n », deux variables dont les valeurs sont respectivement 20 et 10, et avons gardé la limite de 15. Ici, nous avons réuni les conditions « m » et « n » dans la boucle, dans lequel la boucle s'exécutera jusqu'à ce que la valeur de 'm' soit inférieure à la limite et que 'n' soit supérieure à la limite.

#!/bin/bash
limite = quinze
m = vingt
n = dix
jusqu'à [ [ millions de dollars -lt limite $ || $ n -gt limite $ ] ] ;
fais
écho 'Si M = millions de dollars alors N = $ n '
( ( m-- ) )
( ( n++ ) )
Fini

Vous pouvez voir que l'exécution du script ci-dessus s'exécutera jusqu'à ce que les valeurs de 'm' et 'n' arrivent au même niveau.

Lire le fichier dans Bash

En bash, vous pouvez lire le contenu d'un fichier de plusieurs manières. Dans cet exemple de boucle bash, nous allons lire le contenu du fichier via le nom de fichier. Nous pouvons utiliser le script suivant pour lire le fichier en bash :

#!/bin/bash
écho 'Le contenu du fichier saisi est :'
tandis que
lis ligne
fais
écho $ ligne
Fini < ~ Documents / Linuxhint.txt

Après avoir exécuté le script ci-dessus, vous pouvez lire le contenu complet du fichier saisi.

Ecrire dans un fichier

Vous pouvez utiliser les boucles du script pour modifier un fichier directement depuis le terminal. Par exemple, si nous avons un fichier txt « Example.txt » et que nous voulons ajouter des informations, nous pouvons utiliser le script suivant :


Si vous exécutez le script ci-dessus, il vous demandera d'entrer les détails :


Une fois que vous avez entré les détails, veuillez CTRL + D pour enregistrer le fichier et CTRL + Z pour terminer le processus avec succès.

Boucle d'instruction Break and Continue dans Bash

En bash, vous pouvez continuer votre instruction de boucle après la pause. L'instruction break sort de la boucle puis passe le contrôle à l'instruction donnée suivante. L'itération numéro deux commence après que l'itération en cours a été ignorée avec la même instruction continue.

#!/bin/bash
sur une = 16
jusqu'à faux
fais
( ( sur une-- ) )
si [ [ $num -eq 13 ] ]
alors
Continuez
elif [ [ $num - la 4 ] ]
alors
Pause
être
écho 'LinuxHint= $num '
Fini

Dans le script bash suivant, vous pouvez voir que lorsque le 'num' est égal à 13, il ignore le reste du corps de la boucle et passe à l'itération suivante. De même, la boucle se rompra lorsque 'num' est inférieur ou égal à 4.


Le script ci-dessus montre que la boucle commence à 15, s'interrompt à 13 et continue jusqu'à 5.

Calcul d'une moyenne dans Bash

Vous pouvez calculer la moyenne en exécutant le script dans une boucle bash. En cela, l'utilisateur peut calculer la moyenne des nombres dans une plage définie. Le script suivant calcule la moyenne des entrées fournies par l'utilisateur.

#!/bin/bash
Des marques = '0'
MOYEN = '0'
SOMME = '500'
SUR UNE = '5'
tandis que vrai ; fais
écho -n 'Entrez vos notes ou appuyez sur 'q' pour abandonner' ; lis Des marques;
si ( ( ' marques $ ' < '0' ) ) || ( ( ' marques $ ' > '100' ) ) ; alors
écho 'Veuillez saisir vos notes'
elif [ ' marques $ ' == 'q' ] ; alors
écho 'les notes moyennes sont : $ MOYENNE %'
Pause
autre
SOMME =$ [ $SOMME + marques $ ]
SUR UNE =$ [ $NUM + 1 ]
MOYEN =$ [ $SOMME / $NUM ]
être
Fini

Si l'entrée n'est pas dans la plage, un message s'imprime indiquant 'Veuillez saisir vos marques'. Lorsque l'utilisateur appuie sur 'q' après avoir saisi toutes les marques, le script calcule la moyenne approximative de tous les nombres saisis.

Lorsque le script ci-dessus est exécuté, votre sortie ressemblera à ceci.

Lire les arguments de ligne de commande dans Bash

Dans bash, vous pouvez lire des arguments de ligne de commande uniques à l'aide de boucles. Le script imprime les valeurs d'argument formatées. Nous exécutons des arguments de ligne de commande dans bash en utilisant une boucle while dans le script suivant. Grâce à cela, vous imprimerez la valeur en passant l'option de valeur d'argument valide à l'aide d'une seule commande.

#!/bin/bash
tandis que getops N:F:M : OPT
fais
Cas ' ${OPT} '
dans
N ) Nom = ${OPTARG} ;;
F ) nom du père = ${OPTARG} ;;
M ) nom de la mère = ${OPTARG} ;;
* ) écho 'Non valide'
sortir 1 ;;
esac
Fini
printf 'Nom: $nom \n Nom du père: $père \n Nom de la mère : $nom de la mère \n '

Ainsi, vous pouvez imprimer les valeurs d'argument formatées sur la sortie en exécutant le script ci-dessus dans un bash.

Emballer

Voici donc les brèves informations sur les 10 exemples de boucles bash cool et impressionnants que vous pouvez apprendre. Nous avons utilisé différents types de boucles pour créer facilement le script interactif. De plus, nous avons également expliqué les approches de base utilisées dans les exemples ci-dessus. Si vous avez des détails détaillés sur les boucles de bash, veuillez visiter notre site officiel pour en savoir plus.