efna a écrit :
Bonjour!
J'aimerais savoir comment faire pour repasser l'entrée standard au clavier.
J'ai une boucle while avec un while read line<fichier et j'aimerais (dans le while) récupérer l'entrée standard au clavier (pour faire un read variable, et obtenir une réponse d'un utilisateur du script).
Merci de votre aide!
PS : j'ai cru comprendre que exec < ... pouvait faire ça, mais que lui donner en argument à droite??
Merci beaucoup à bientôt
|
Faut que tu attribues un canal numéroté à ton fichier. Puis quand tu veux lire le fichier tu lis le n° en question et quand tu veux lire le clavier tu fais un read classique
Exemple
Code :
- #!/bin/sh
- # Attribution du canal au fichier "/etc/passwd"
- exec 3</etc/passwd
- # Lecture du fichier
- while read ligne 0<&3
- do
- echo "$ligne"
- # Attente réponse au clavier
- echo "Voulez-vous continuer (o/n) ?"
- read rep
- test "$rep" = "n" -o "$rep" = "N" && break
- done
|
C'est aussi expliqué ici http://fr.lang.free.fr/cours/Shell_v2.0.pdf
Message édité par Sve@r le 11-06-2008 à 21:37:57
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.