Chapitre 10. Structures de contrôle for et if

Table des matières

10.1. Itération for
10.2. Choix if
10.2.1. Fonctionnement
10.2.2. Commande composée [[

10.1. Itération for

L'itération for possède plusieurs syntaxes dont les deux plus générales sont :

  1. Première forme :


    for var
    do
        suite_de_commandes
    done

    Lorsque cette syntaxe est utilisée, la variable var prend successivement la valeur de chaque paramètre de position initialisé.

    Exemple : programme shell for_arg

    #!/bin/bash
    #	@(#)	for_arg
    
    for i
    do
      echo $i
      echo "Passage a l'argument suivant ..."
    done
    
    $ for_arg un deux 		=> deux paramètres de position initialisés
    un
    Passage a l'argument suivant ...
    deux
    Passage a l'argument suivant ...
    $
    

    La commande composée for traite les paramètres de position sans tenir compte de la manière dont ils ont été initialisés (lors de l’appel d’un programme shell ou bien par la commande interne set).

    Exemple : programme shell for_set

    #!/bin/bash
    #	@(#)	for_set
    
    set $(date)
    
    for i
    do
      echo $i
    done
    
    $ for_set
    jeu. 
    20 
    janv. 
    2022 
    09:24:27 
    CET
    $
    
  2. Deuxième forme :


    for var in liste_mots
    do
        suite_de_commandes
    done

    La variable var prend successivement la valeur de chaque mot de liste_mots.

    Exemple : programme shell for_liste

    #!/bin/bash
    #	@(#)	for_liste
    
    for a in toto tata
    do
      echo $a
    done
    
    $ for_liste
    toto
    tata
    $
    

    Si liste_mots contient des substitutions, elles sont préalablement traitées par bash.

    Exemple : programme shell affich.ls

    #!/bin/bash
    #	@(#)	affich.ls
    
    for i in tmp $(pwd)
    do
      echo “ --- $i ---“
      ls "$i"
    done
    
    $ affich.ls
    --- tmp ---
    gamma
    --- /home/sanchis/Rep ---
    affich.ls  alpha  beta  tmp
    $