Boucle read

michael_scott Messages postés 65 Statut Membre -  
 Utilisateur anonyme -
Bonjour,
j'aimerai trouver un moyen de renseigner plusieurs ID de job dans le read. et terminer le programme lorsque que je ne rentre plus rien ("")...

j'ai ça:
 while test $job !=" "
        do 
        read -p "renseigner l'ID du job a suivre:  " job
       echo $job
done

et après de pouvoir utiliser les jobs individuellement, à la maniere:
for i in $liste_job
etc...

Avez vous des idées ?
Merci

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Le script revu et corrigé ;-)
    #! /bin/bash
    
    while test -z "${job}" 
          do 
          read -p "renseigner l'ID du job a suivre:  " job
          echo "${job}"
    done
    
    j=1
    for i in  ${job}
    do echo "ID ${j} : ${i}"
    ((j++))
    done


    $ ./foo.sh 
    renseigner l'ID du job a suivre:

    renseigner l'ID du job a suivre: 1 22 333 4444
    1 22 333 4444
    ID 1 : 1
    ID 2 : 22
    ID 3 : 333
    ID 4 : 4444

    0
    1. michael_scott Messages postés 65 Statut Membre
       
      comment faire si je souhaite voir l etat de mes jobs, puis voir le suivant.. pour revenir au premier:
      for i in ${job}

      do
      echo "job en cours $i"
      state=`bjobs $i |grep -v "STAT"| awk '{print $3}'`

      while test $state = "RUN"

      do

      echo "en cours etat : $state "

      sleep 6

      done

      if test $state != "RUN"

      then
      echo "job termine"
      exit
      fi
      $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      pour votre exemple :
      job en cours 1 : RUN
      job en cours 22 : RUN
      job en cours 333 : RUN
      etc

      En fait un next i serait parfait (?)
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > michael_scott Messages postés 65 Statut Membre
       
      En fait un next i serait parfait (?)
      Voir du côté de la commande
      shift
      du shell.
      0
    3. Utilisateur anonyme
       
      shift
      manipule les paramètres positionnels.

      si je récapitule :
      1- entrer les processus à suivre
      2- afficher l'état de processus à suivre
      c'est ça ?
      0
    4. michael_scott Messages postés 65 Statut Membre
       
      j'ai essayé, mais le shift ne marche pas dans la boucle while ( j ai essayé avec du if et effectivement ça fonctionne, or il me faut du while..)
      0
    5. michael_scott Messages postés 65 Statut Membre > Utilisateur anonyme
       
      oui qqchquicommenceparQ
      0