[shell] Syntaxe de Boucles

Kooky -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai créé une fonction qui reçoit 2 paramètres, je veux afficher "NOK" tant que i qui est égal au premier paramètres n'est pas égale au paramètre 2.
J'ai crée et imbriqué des itérations mais ça ne fonctionne pas... Pouvez-vous m'aider?

Voici mon prog:

#/bin/sh
Juste () {
read par1
read par2
i=$par1
for i in $2; do
echo "NOK"
i=$(($i + 1))
done
}
echo "Le résultat"
juste

Script Shell sh sous Linux.

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ cat f10
    #/bin/sh
    
    juste () {
    i=$1
    while [ $i -le $2 ] ;do
    echo "NOK"
    i=$(expr $i + 1)
    done
    }
    echo "Le résultat"
    juste  $1 $2
    $ 
    $ ./f10 2 5
    Le résultat
    NOK
    NOK
    NOK
    NOK
    $ 
    
    1
  2. Kooky
     
    Merci c exactement ça.... j'avais une autre question: comment vérifier que les 2 paramètres rentrés soient bien des entiers? j'ai essayé différents test mais aucun ne fonctionnent.
    Pouvez-vous m'aider.
    Merci
    0