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.shotPour 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!