Boucle de programmation shell instruction-for, boucle while et boucle jusqu'à


Un, instruction de boucle for

  • Dans notre environnement de travail actuel, des tâches répétitives sont souvent effectuées, et à chaque fois les objets à traiter sont différents.
  • Par exemple, caissier de supermarché
  • Comment pouvons-nous faire face à des tâches aussi simples plus efficacement? C'est la déclaration de boucle for que nous apprendrons ensuite

1. Structure

  • Spécifiez une liste de variables et de valeurs, lisez différentes valeurs de variables et exécutez le même groupe de commandes une par une, jusqu'à ce que la valeur de la variable s'épuise et quitte la boucle en cours
  • La liste de valeurs ici est la condition d'exécution de l'instruction for, qui comprend plusieurs objets avec les mêmes attributs, qui doivent être spécifiés à l'avance
#语法结构:
for 变量名 in 取值列表
do
        命令序列
done
  • Faites attention aux espaces dans la structure de déclaration ci-dessus!
  • La séquence de commandes entre do ··· done s'appelle "loop body"
    marque
  • Comme le montre la figure ci-dessus, le processus d'exécution est:
    • Attribuez d'abord la première valeur de la liste de valeurs à la variable, puis exécutez la séquence de commandes dans le corps de la boucle
    • Attribuez ensuite la deuxième valeur à la variable et exécutez la commande de boucle et ainsi de suite jusqu'à ce que la valeur soit épuisée
    • Enfin, passez à l'instruction done, ce qui signifie la fin de la boucle

2. Exemples d'application

2.1 Utiliser pour pour ajouter des utilisateurs par lots

  • Créez un nouveau fichier et stockez le nom d'utilisateur
    marque
    marque
    marque
    marque
  • Supprimons à nouveau les utilisateurs par lots pour approfondir l'impression
    marque
    marque

2.2 Vérifiez l'état de l'hôte en fonction de la liste d'adresses IP

  • Détecter la connectivité réseau dans la liste de valeurs du segment de réseau 192.168.126
    marque
    marque
  • Dans le script ci-dessus, l'instruction if est utilisée dans la boucle do ··· done
  • En fait, si, pour et divers autres scripts shell peuvent être imbriqués

2.3 Classique! Calculez la somme des nombres 1 ~ 100 avec des instructions de boucle

marque
marque

  • Autrement
  • L'utilisation ici a la même signification que ci-dessus
    marque
    marque

2.4 Inviter l'utilisateur à entrer un entier inférieur à 100 et calculer la somme de tous les nombres entiers de 1 à ce nombre

  • Simple ~
    marque
  • Faites attention à l'utilisation de "+ ="
    marque
    marque

2.5 Trouver les sommes paires et impaires de tous les entiers de 1 à 100 (jusqu'au nombre entré par l'utilisateur)

marque
marque


Deux, instruction de boucle while

  • L'instruction for convient aux occasions où l'objet de la liste est irrégulier et la source de la liste est fixe
  • Que faire si nous avons besoin de contrôler le nombre de boucles, le nombre d'objets de fonctionnement par ordre numérique, et les opérations répétées selon des conditions spécifiques, etc.
  • Comment ça se passe, ça ressemble à une loterie, en achetant un billet de loterie
  • S'il y a une demande, il y aura une solution de réponse. C'est l'instruction de boucle while que nous apprendrons ensuite

1. Structure

  • Tester une certaine condition à plusieurs reprises et exécuter à plusieurs reprises tant que la condition est satisfaite, jusqu'à ce que la condition ne soit plus satisfaite
  • Selon la situation ci-dessus, vous devez éviter la boucle infinie, sinon les instructions suivantes ne seront pas exécutées
  • Par conséquent, la séquence de commandes dans le corps de la boucle doit inclure une instruction pour modifier la condition de test, de sorte que la condition de test ne soit plus établie à un moment approprié, mettant ainsi fin à la boucle
#语句结构
while 条件测试操作
do
        #命令序列
done

##示例
while 未猜中正确价格
do
        #反复猜测商品价格
done

marque

  • Commencez par juger l'opération de test conditionnel, si la condition est satisfaite, exécutez la séquence de commandes dans le corps de la boucle do ··· done; retournez à while puis jugez ··· Cette boucle alternative jusqu'à ce que l'opération de test conditionnel après le while ne soit pas établie, et enfin passez à done Boucle de fin

2. Exemples d'application

2.1 Ajouter des utilisateurs avec des numéros réguliers par lots

marque
[Échec du transfert de l'image du lien externe. Le site source dispose peut-être d'un mécanisme de liaison anti-sangsue. Il est recommandé d'enregistrer l'image et de l'importer directement (img-xy2RNtJL-1608469869870) (14CD4AEA4ECA4147B4AEF577405215DD)]

  • Supprimons-le par lots
    marque
    marque

2.2 Devinez le jeu des prix

  • Invite l'utilisateur à deviner et à enregistrer le nombre de suppositions, une fois que la supposition est correcte, la boucle peut quitter
  • Un entier aléatoire peut être obtenu via la variable d'environnement RANDOM, et le reste et 1000 peuvent être calculés pour obtenir un prix aléatoire allant de 0 à 999
    [Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-sangsue, il est recommandé de sauvegarder l'image et de la télécharger directement (img -1qJ2eez8-1608469869871) (B2C666B3AF6941B692B066129383DB65)]
  • exit 0 Revenez à "0" et quittez la boucle en cours une fois le test terminé
    [Échec du transfert de l'image du lien externe, le site source peut avoir un mécanisme de lien anti-sangsue, il est recommandé de sauvegarder l'image et de la télécharger directement (img-ZI4vDGaK-1608469869871) (24B8EE95626F47BBB9FDDE537B3EA8E4)

2.3 Inviter l'utilisateur à entrer un entier inférieur à 100 et calculer la somme de tous les nombres entiers de 1 à ce nombre

marque
marque

  • La logique du corps de la boucle dans l'image ci-dessus peut ne pas être très claire pour tout le monde. La première est la suivante: somme = 0 + 1 = 1, i = 1, puis la boucle suivante, somme = 1 + 2 = 3, i = 2; somme = 3 + 3 = 6 (1 + 2 + 3), i = 3, boucle jusqu'à ce que l'utilisateur entre le nombre. Soit i ++ ci-dessous est la condition pour que cela soit combiné et finalement hors de la boucle
  • Exercez une pensée plus logique et appliquez avec souplesse. Il existe de nombreuses façons d'y parvenir. L'auteur est aussi un débutant et tout le monde progressera ensemble.

2.4 Inviter l'utilisateur à entrer un entier inférieur à 100 et calculer les sommes paires et impaires de tous les nombres entiers de 1 à ce nombre

marque
marque


Trois, jusqu'à la déclaration de boucle

1. Structure

  • Tester une certaine condition à plusieurs reprises et l'exécuter à plusieurs reprises si la condition n'est pas établie
语句结构:
until 条件测试操作
do  
   命令序列
done
  • C'est la logique inverse de while, et c'est moins en usage réel, car tout le monde est généralement une logique positive

2. Exemples d'application

  • Calculez la somme de tous les nombres entiers de 1 à 100
    marque
    [Échec du transfert de l'image du lien externe, le site source peut avoir un mécanisme de chaîne anti-sangsue, il est recommandé de sauvegarder l'image et de la télécharger directement (img-ooQOE06H-1608469869874) (BADE30E5EA0A4426A92413267319E0F4)]
  • Comment? Est-ce exactement la même chose? Autrement dit, la première phrase de la structure de la phrase a changé.
  • Si la condition de i est supérieure au nombre saisi par l'utilisateur n'est pas établie, elle sera exécutée de manière répétée, c'est-à-dire que si i est inférieur au nombre saisi par l'utilisateur, elle sera exécutée de manière répétée.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_51486343/article/details/111462846
conseillé
Classement