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 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
    
    set $(date)
    
    for i
    do
      echo $i
    done
    
    $ for_set
    mardi
    1
    avril
    2014,
    09:10:06
    (UTC+0200)
    $
  2. Deuxième forme :

    for var in liste_mots

    do

       suites_de_commandes

    done

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

    Exemple : programme shell for_liste

    #!/bin/bash
    
    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
    
    for i in tmp $(pwd)
    do
      echo “ --- $i ---“
      ls $i
    done
    
    $ affich.ls
    --- tmp ---
    gamma
    --- /home/sanchis/Rep ---
    affich.ls  alpha  beta  tmp
    $