Fonction choice en shell (unix)

Bonsoir,

Je recherche depuis un moment comment obtenir les mêmes fonctionnalitées la fonction choice de Windows (DOS) sous Unix-Solaris 10 (Shell).
Je m’explique :
Je veux un menu me laissant un choix, et si au bout d’un certain temps aucune saisie clavier n’est effectuée, un choix par défaut est entré.

ma logique sous shell est la suivante :

je crée un fichier READ contenant :


read answer
case $answer in
[yYoO])
…;;
[nN]
)
…;;
esac


et un autre fichier (scrip principal) :

./READ&
PID=$!
sleep 10
test=`ps -cafe | grep $PID>/dev/null`
if [ $test ]
then
kill $PID
fi

biensur cela ne fonctionne pas si vous avez des idées, elles sont les bienvenues :slight_smile:

et si tu ejectais >/dev/null ?

Cela n’a aucun effet.
Le problème de mon script actuel est qu’il est impossible de tuer le programme READ. Le fait qu’il soit exécuté en arrière plan semble shinter la commande read (pas de saisie au clavier).

En bash, sous Solaris 10:

read: usage: read [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [name …]

:smiley:

BZValoche> c’est vilain ça :slight_smile:

[personnellement, j’y connais presque rien en Bash, et je lui aurai dis de faire ça avec un petit programme en C vite fait bien fait :D]

Merci de vos réponses (bien que la mienne soit tardive)
Malheuresement cela ne fonctionne pas. Je vais tout de même pousser mes tests en ce sens…

 read var -t 1
blabalba
-t: n'est pas un identificateur

Il faut être en bash

Génial merci, j’avais lu trop rapidemment. ^^’
Je comprends vite mais il faut m’expliquer longtemp comme on dit…
Bref, j’ai installé le bash et ça fonctionne (faudrait aussi que je pense à installer les libraries du man :p).