|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : janvier 2007 Messages : 67 ![]() |
Dans un shell je lance une commande qui écrit dans un fichier de messages FILE, ensuite, toujours dans le shell, je fais tail -n 100 -f FILE pour voir le fichier de messages au fur et à mesure qu'il est remplit. Tout ça c'est dans une boucle, car il y a plusieurs commandes à faire, chacune écrivant dans un fichier de messages différent.
J'exécute le shell, et quand il a fini d'écrire dans FILE, je fais <Ctrl>C pour sortir du tail. Malheureusement, il sort complètement du shell à ce moment là. Comment faire pour continuer avec le reste de commandes à faire dans le shell ? J'ai essayé de mettre un trap "" 2 3 15 avant le tail -f, mais alors on ne peut plus sortir du tail ! Dernière modification par vpovpo ; 22/01/2010 à 18h29. |
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Inscription : janvier 2007 Messages : 67 ![]() |
J'y suis arrivé !
Voilà comment, le cas où quelqu'un serait intéressé: En fait il faut définir une fonction (je l'ai appelée ici sortie) qui sera exécutée quant on fait <Ctrl>C (code d'interruption = 2): Code :
La fonction doit contenir au minimum une instruction, par exemple un simple echo. Ici j'ai fait un peu plus, c'est à dire que je récupère le code cod_interr qui correspond au type d'interruption qui a été faite (2 pour <Ctrl>C) et je transmets aussi un argument à cette fonction lors de la définition du trap ("interruption_client"), argument que je vais écrire après avoir récupérer la main dans la fonction sortie. Après l'exécution de cette fonction, le programme continue avec la ligne suivant le tail. a+
Dernière modification par vpovpo ; 22/01/2010 à 18h09. |
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mars 2003 Messages : 25 ![]() |
Merci bcp d'avoir pris la peine de mettre la solution.
Ca marche nickel !
|
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 909 ![]() |
Il y a plus simple:
Code :
Ne pas trapper 3 et 15, ca ne sert à rien ici.
__________________
ɹǝsn *sıɹɐlos* |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com