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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Shell script : redirection synchrone vers un fichier ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Shell script : redirection synchrone vers un fichier ?

n°1074998
- Fred -
007 Agent
Posté le 07-05-2005 à 18:54:54  profilanswer
 

Salut à tous,
 
J'ai un super TP à faire en shell script, c'est un système de chat. Tous les clients se écrivent dans un fichier commun placé dans /tmp, et ils le surveillent avec un tail pour obtenir les nouveaux messages. Il y a plein de super routines pour se connecter et écrire, mais ce n'est pas vraiment ce qui nous intéresse ici.
 
En fait, il faut arriver à surveiller la connexion d'un pote, et lorsque c'est le cas, lui envoyer un gentil message. J'ai donc cherché et trouvé une ligne de commande qui pourrait correspondre :

tail -n 0 -q -f $GLOBALFILE | awk "/^$POTE/ {print \"  [$PSEUDO] Salut $POTE !\"}" >> $GLOBALFILE


Cette commande fonctionne correctement, c'est à dire que lorsque j'écris dans le fichier global une ligne commençant par $POTE il va bien écrire dans le fichier global "Salut $POTE" avec mon pseudo derrière. Seulement il ne l'écrit que lorsque je termine le tail via kill -15 ... donc ça ne me sert à rien, puisqu'il va écrire tous les coucous à la fin de la session.
 
Pire : si je met cette ligne dans un script, et que j'interrompt le script via CTRL-C, rien n'est écrit. J'aimerais savoir s'il existe un moyen de forcer l'écriture de manière synchrone, pour que la redirection se fasse systématiquement lorsqu'une ligne est envoyée à tail et ensuite à awk. J'ai tenté un petit "sync" mais rien n'est écrit dans le fichier ... ce doit être un problème que les dev shell ont dû rencontrer souvent ;).
 
Merci de votre aide,
Fred

mood
Publicité
Posté le 07-05-2005 à 18:54:54  profilanswer
 

n°1075005
- Fred -
007 Agent
Posté le 07-05-2005 à 18:59:52  profilanswer
 

Autre chose : lorsque j'affiche la variable "$!" j'obtiens le pid de awk, alors que j'aimerais celui de tail pour pouvoir le tuer en fin de programme. Comment obtenir ce pid ?

n°1075137
- Fred -
007 Agent
Posté le 07-05-2005 à 21:50:57  profilanswer
 

J'utilise un fichier intermédiaire et ça semble mieux fonctionner ...


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

  Shell script : redirection synchrone vers un fichier ?

 

Sujets relatifs
ouverture d un fichierUn script qui ne fonctionne pas...
écriture dans un fichier texte.Spool dans un fichier
texte defilant marche pas sur MAC ... (script simple)1autre solution ?Choisir uniquement un dossier dans un browse et non pas un fichier ???
explorer les fichier du serveur a partir d´une appletProblème lié a l'ouverture de fichier
ecrire dans un fichier en java et l'indenter[perl] - reference vers un file handle
Plus de sujets relatifs à : Shell script : redirection synchrone vers un fichier ?


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