Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1194 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Restauration redirection stdin

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Restauration redirection stdin

n°954303
le3zi
Posté le 17-01-2005 à 02:19:38  profilanswer
 

Bonjour, j'utilise la commande exec en bash pour lire dans un fichier... je joins un extrait de mon code ou je traite les lignes du fichiers une par une dans la boucle while (true).
Le problème est que le programme semble quitter a l'instruction done et donc les traitements ultérieurs (ici l'écriture a l'écran) ne sont pas traités......
 
#!/bin/bash
 fichier=$1
 exec 6<&0
 exec < ./asi05.txt
 
 while (true)
 do
  read ligne
  if [ "$ligne" = "" ] ; then
   exit $FIN
  fi
  echo "in"
 done;
 echo "out"
 exec 0<&6 6<&-
 exit 50
 
Pouvez vous m'éclairer a ce sujet la ?? :) merci


Message édité par le3zi le 17-01-2005 à 20:58:46
mood
Publicité
Posté le 17-01-2005 à 02:19:38  profilanswer
 

n°954669
matafan
Posté le 17-01-2005 à 15:45:18  profilanswer
 

A mon avis il quitte sur le exit $FIN... En général un read ça ce fait avec un while (read) do ... done.

n°954697
Zaib3k
Posté le 17-01-2005 à 15:55:23  profilanswer
 

pour restaurer stdin, il faut faire un exec sans argument ,de mémoire.


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°955018
le3zi
Posté le 17-01-2005 à 20:57:30  profilanswer
 

Bien sur !! il quitte sur $FIN ! J'ai tellement planché la dessus et sur la doc de exec... que j'ai pas vu cette voie la... Merci matafan ! Par contre, comment tu gères la boucle ?   quand je fais un while (read), il n'y a qu'un passage de boucle, alors que le fichier avec lequel je teste ca comporte 3 lignes.

n°955020
le3zi
Posté le 17-01-2005 à 20:58:28  profilanswer
 

Zaib3k, je crois pas avoir bien compris ce que tu voulais me dire. Je dois lancerl a commande "exec" tout simplement, sans arguments ?  ce que j'ai fais n'est pas bon ?

n°955022
Zaib3k
Posté le 17-01-2005 à 21:00:20  profilanswer
 

le3zi a écrit :

Zaib3k, je crois pas avoir bien compris ce que tu voulais me dire. Je dois lancerl a commande "exec" tout simplement, sans arguments ?  ce que j'ai fais n'est pas bon ?


 
je repondais juste au titre du topic.
 
sinon pour la boucle,  
 

while read ligne; do
  echo $ligne
done < fichier


 
ca devrait t'aider ;)


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°955024
le3zi
Posté le 17-01-2005 à 21:01:02  profilanswer
 

On peut dire que c'est une réponse rapide, je vais tester ca ... merci

n°955027
le3zi
Posté le 17-01-2005 à 21:02:45  profilanswer
 

ca a l'air de bien marcher... cela dit.. comment donner un descripteur a mon fichier... la j'utilise 6 dans l'exemple (ca été repris d'un site) mais je ne vois pas trop a quoi ca correspond...

n°955031
Zaib3k
Posté le 17-01-2005 à 21:07:04  profilanswer
 

si tu n'as pas besoin d'un descripteur precis, garde celui par defaut ;)


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°955032
le3zi
Posté le 17-01-2005 à 21:08:19  profilanswer
 

6 est le descripteur par défaut ?

mood
Publicité
Posté le 17-01-2005 à 21:08:19  profilanswer
 

n°955035
Zaib3k
Posté le 17-01-2005 à 21:11:26  profilanswer
 

ha non :) les descripteurs standard sont 0 1 et 2
stdin 0
stdout 1
stderr 2


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°955208
le3zi
Posté le 18-01-2005 à 01:19:06  profilanswer
 

Oui.. ceux la je sais :) mais est ce que par exemple :
 
- Enregistrement de stdin et redirection vers mon fichier:
   exec 6<&0
   exec < $fichier
 
- Traitement avec des read dans le fichier
 
- Restauration de stdin
   exec 0<&6 6<&-
 
Est ce que ceci est correct ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Restauration redirection stdin

 

Sujets relatifs
Redirection et HTTP_POST_VARSredirection de descripteurs
problème redirection site webProjet redirection urlmemo
redirection javascript avec UlimitRedirection avec des variables (post)
Problème redirection avec headerGerer la redirection selon que le javascript est active ou pas
Vbs ou . batch pour redirection ?redirection en shell
Plus de sujets relatifs à : Restauration redirection stdin


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR