(Courriels de diversion: <aviserait@mesestimee-recachettes.com> <usurperas@nabot-affreter.com> <nicherai@spolierais-assignerions.com> <sablier@surexcitant-rassoyant.com> <mobiliserai@espacerons-croquee.com> <dedommagees@boutonnerez-decante.com> <desertaient@grippent-devront.com> <enclume@reconcilierez-inserent.com> <gares@egrenerais-infiltree.com> <inattentive@falsification-fertilisant.com> )


marc THIRION a écrit :
hd a écrit :

je fais un script de test d'une appli
je boucle indéfiniment par défaut sur l'appli et je voudrais pouvoir arrêter le script en appuyant sur une touche quelconque du clavier


genre :

while true
    je lance l'appli
    je fais un autre test
    et encore un autre

    if une touche a ete presse then
        sortie
    endif
done

j'ai essayé read sans succes

Pense différemment.

keypressed=/tmp/kp.$$
(
  while [[ ! -e $keypressed ]]
  do
     je lance l'appli
     je fais un autre test
     et encore un autre
  done
  rm $keypressed
) &
read stop
touch $keypressed


j'ai quand même un petit souci ...

si mon appli plante (code retour != 0), je fais un exit 1
dans ce cas, le exit() n'arrête pas pour autant le read

keypressed=/tmp/kp.$$
(
  while [[ ! -e $keypressed ]]
  do
     je lance l'appli
	 si erreur alors exit 1
     et encore un autre
	 si erreur alors exit 1
  done
  rm $keypressed
) &
read stop
touch $keypressed

il faudrait que j'envoie un signal (?) au read pour lui dire de rendre la main.
est ce possible ? (mais je pré-suppose déjà que oui)


--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>