Programmation BASH

Création d'une boucle infinie Bash par des exemples de scripts

Création d'une boucle infinie Bash par des exemples de scripts
Une boucle infinie dans Bash ou tout autre langage de programmation fait référence à une boucle continue i.e., sa condition de fin n'est jamais remplie ou sa condition d'exécution reste vraie pour toujours. De telles boucles dans n'importe quel langage de programmation sont très simples à écrire. Qu'il s'agisse d'une boucle « for » ou d'une boucle « while », elle peut être rendue infinie avec de très légers ajustements dans sa syntaxe normale.

Dans cet article, nous partagerons avec vous les différentes manières de créer facilement les boucles "for" et "while" à l'infini dans Bash dans Linux Mint 20.

Exemples de scripts Bash Infinite Loop dans Linux Mint 20 :

Il existe différentes manières de travailler avec des boucles infinies dans Bash, et les exemples de scripts les démontrant sont décrits ci-dessous :

Remarque : vous pouvez accéder à tous les scripts Bash abordés dans cet article dans notre répertoire personnel nommé InfiniteLoop.sh.

Script n°1 : « While » en boucle à l'aide de la commande « : » dans Bash sous Linux Mint 20 :

Dans cet exemple, nous allons créer une boucle « while » sans fin en l'associant à la commande « : » dans Bash dans Linux Mint 20. Copiez simplement le script suivant montré dans l'image dans un fichier Bash.

Comme indiqué dans le script Bash ci-dessus, nous avons créé une boucle « while » suivie de la commande « : ». Cette commande est une alternative à la commande « true », ce qui signifie que quelle que soit la situation, la boucle « while » s'exécutera toujours. À l'intérieur de cette boucle « while », nous avons simplement imprimé un exemple de message qui dit « Keep Running ». Ensuite, nous avons la commande "sleep", elle attend 1 seconde avant d'imprimer chaque prochain message sur le terminal.

Une fois ce script Bash écrit, nous l'exécuterons avec la commande ci-dessous :

$ bash Boucle infinie.sh

Lorsque ledit script est exécuté, vous remarquerez que des messages sans fin indiquant « Continuer à exécuter » s'affichent sur votre terminal, comme indiqué dans l'image suivante. Ces messages ne s'arrêteront que si vous appuyez sur Ctrl+C. Sinon, cette boucle continuera encore et encore.

Script n°2 : « While » en boucle à l'aide de la commande « true » dans Bash sous Linux Mint 20 :

Dans cet exemple, nous allons créer une boucle « while » sans fin en l'associant à la commande « true » dans Bash dans Linux Mint 20. Copiez simplement le script montré dans l'image dans un fichier Bash. Comme vous pouvez le remarquer, le script est exactement le même que celui que nous avons créé dans le premier scénario. Cependant, la seule différence est que cette fois, nous avons remplacé la commande ":" par la commande "true". Néanmoins, il servira exactement le même objectif.

Nous exécuterons ce script avec la même commande "bash", et nous remarquerons une série de messages sans fin sur notre terminal, qui ne se terminera qu'une fois que nous appuierons sur Ctrl + C, comme le montre l'image ci-dessous :

Script n°3 : One Liner « While » Loop en utilisant la commande « : » dans Bash sous Linux Mint 20 :

Vous remarquerez peut-être que les scripts 1 et 3 sont inutilement longs. Eh bien, ces deux scripts peuvent être compressés dans une commande simple. Copiez simplement le script montré dans l'image ci-dessous :

Le script montré dans l'image ci-dessus est la réplication exacte du script # 1. Cependant, au lieu d'écrire chaque commande sur une ligne différente, nous les avons simplement séparées par des points-virgules.

Lorsque nous exécutons ce script, nous obtiendrons exactement les mêmes résultats que ceux obtenus après l'exécution du script #1. Cela peut être vu à partir de l'image ci-dessous:

Script n°4 : One Liner « While » Loop en utilisant la commande « true » dans Bash dans Linux Mint 20 :

De même, nous pouvons compresser le script #2 dans une commande à une ligne. Copiez simplement le script montré dans l'image ci-dessous :

On peut observer que le script montré dans l'image ci-dessus est la réplication exacte du Script #2. Encore une fois, la seule différence est qu'au lieu d'écrire chaque commande sur une ligne différente, nous les avons simplement séparées par des points-virgules.

Lorsque nous exécutons ce script, nous obtiendrons exactement les mêmes résultats que ceux obtenus après l'exécution du script #2. Cela peut être vu à partir de l'image ci-dessous:

Script n°5 : Boucle For sans aucun paramètre dans Bash sous Linux Mint 20 :

Cet exemple est différent des Scripts #1 à 4 car au lieu d'utiliser la boucle « while », nous allons créer une boucle « for » infinie. Copiez simplement le script montré dans l'image ci-dessous :

La tâche que nous allons effectuer dans la boucle "for" est la même que celle que nous avons faite avec les scripts décrits ci-dessus. Cependant, au lieu d'utiliser la boucle « while », nous avons utilisé la boucle « for » sans aucune condition ni paramètre. Il est toujours exécuté puisque sa condition est considérée comme « vraie » par défaut.

Nous exécuterons ce script avec la même commande "bash", et nous remarquerons une série de messages sans fin sur notre terminal, qui ne se terminera qu'une fois que nous appuierons sur Ctrl + C, comme le montre l'image ci-dessous :

Conclusion:

Dans cet article, nous vous avons appris cinq façons différentes d'implémenter des boucles infinies dans Bash. Ces boucles continueront à s'exécuter indéfiniment car aucune condition de terminaison n'est spécifiée, ou même s'il y en a, elle ne se rencontrera jamais. Par conséquent, si vous souhaitez mettre fin à cette boucle sans fin, vous devrez soit utiliser une instruction "break" avec une condition spécifique dans cette boucle, soit lors de l'exécution d'un tel script, vous devrez simplement appuyer sur Ctrl + C comme nous avons discuté dans tous nos exemples.

Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...