Bash pour boucle en une seule ligne

Bash pour boucle en une seule ligne
Dans tout langage de programmation ou de script, la boucle est une fonctionnalité par excellence. Les boucles sont généralement pour effectuer une tâche répétitive jusqu'à ce qu'une certaine condition soit remplie. Bash est un langage de script puissant qui prend en charge toutes les principales caractéristiques d'un langage de script (y compris les boucles).

Ce guide démontre une ligne pour les boucles en bash.

Bash pour boucle

Le bash propose plusieurs types de boucle - pour, pendant que et jusqu'à. Chaque type de boucle est livré avec une structure différente. Cependant, les fondamentaux restent les mêmes. Pour les débutants, ce guide explique en profondeur diverses boucles de bash et comment les mettre en œuvre.

Comme le titre de ce guide le suggère, notre objectif sera sur la boucle. Alors que pour la boucle nécessite généralement plusieurs lignes, nous pouvons le représenter en une seule ligne si la boucle est assez simple. Ce processus, cependant, nécessite une compréhension des principes fondamentaux de Bash pour une boucle.

Pour exécuter nos codes bash, nous avons besoin d'un script shell. J'ai déjà un script factice pour exécuter nos codes.

$ mannequin de chat.shot

Pour la structure de boucle

Ceci est la structure de base du bash pour la boucle.

for in [list]
faire
fait

Voici un exemple rapide pour la mise en œuvre de cette structure.

pour je dans 1… 5
faire
Echo "Numéro: $ i"
fait

Bash prend également en charge le style C pour Loop. Si vous avez des antécédents de programmation en C, alors C-style pour Loop sera facile à comprendre.

pour ((; ; ))
faire
fait

Mettons le style C pour Loop en action.

pour ((i = 1; i <= 5; i++)); do
Echo "Numéro: $ i"
fait

Pour Loop peut également fonctionner avec des fichiers. Dans l'exemple suivant, la boucle recherchera toutes les partitions sous le disque «/ dev / sda» et imprimera tout cela.

pour i in / dev / sda *; faire
Echo "$ i"
fait

Une ligne pour la boucle

Avec les bases couvertes, nous pouvons désormais compresser des boucles en une seule ligne. Fondamentalement, nous éliminerons les Newlines de l'ensemble du code de boucle. Nous pouvons également exécuter ces boucles directement à partir de la ligne de commande.

Compressons le premier exemple. Si nous éliminons toutes les nouvelles lignes, le code ressemblera à ceci.

$ pour i dans 1… 5; faire écho "numéro: $ i"; fait

Comme vous pouvez le voir, toutes les nouvelles lignes sont supprimées. Au lieu de cela, ces nouvelles lignes sont remplacées par des demi-colons (;).

Nous pouvons faire de même avec le style C pour les boucles.

$ pour ((i = 1; i <= 5; i++)); do echo "number: $i"; done

Jetez un œil à l'exemple suivant. Tous les fichiers de configuration à l'intérieur de «/ etc."Sera copié en tant que sauvegarde du répertoire" ~ / Backup ".

$ pour i in / etc / *.conf; faire cp $ i / home / viktor / sauvegarde; fait

Pour boucle avec conditionnels

Dans de nombreux cas, une boucle contiendra des conditions pour prendre des décisions à différents moments de la répétition.

Ici, ce qui suit pour Loop imprimera tous les nombres pair dans une plage fixe.

pour i dans 1… 10; faire
si [$ ((i% 2)) -eq 0]; alors
écho "$ je même"
Fi
fait

Il est possible d'exprimer toute cette boucle en une seule ligne. Tout comme avant, remplacez toute la nouvelle ligne par des demi-colons (;).

$ pour i dans 1… 10; faire si [$ ((i% 2)) -eq 0]; Puis écho "$ je même"; Fi; fait

Il est recommandé d'écrire la boucle avec un espacement approprié en premier. Une fois la boucle confirmée pour fonctionner correctement, nous pouvons le comprimer en toute sécurité en une seule ligne.

Exemples divers

Voici une poignée d'une ligne pour les boucles pour référence.

$ pour i en 1 2 3 4 5; faire écho "numéro: $ i"; fait
$ pour i dans le processeur du CPU RAM PSU GPU; faire écho "partie de l'ordinateur: $ i"; fait

L'exemple suivant sera d'une boucle infinie.

$ pour ((;;)); faire écho à l'infini!"; fait

Pensée finale

Ce guide démontre diverses exemples efficaces en une ligne pour les boucles. Il est très facile de transformer une boucle normale en une seule ligne. Espérons qu'après avoir pratiqué ces exemples, les lecteurs auront une bonne idée d'utiliser Bash pour Loop en une seule ligne.

Happy Computing!