Bash : rediriger l'affich vers fichier mais en laissant l'affich
Résolu
mortelrdv
-
mortelrdv -
mortelrdv -
Bonjour,
je suis SunOS ajamei1u1 5.10 Generic_147441-01 i86pc i386 i86pc (le bash est donc surement un peu plus limité que les distrib de maintenant)
j'ai un script modif.sh interactive qui fais aussi appel a d'autres scripts/commandes. je voudrais savoir s'il est possible de placer à l'interieur de mon script quelque chose qui indique que ce qui sera affiché a l'ecran devra AUSSI etre envoyer dans un fichier ?
j'ai cru comprendre qu'il est possible lancer comme ceci :
modif.sh | tee modif.log
mais je préférais que ce soit a l'interieur du script, ce qui permettra de simplement lancer :
modif.sh
c'est un script utiliser par plusieurs personnes pas forcement adepte ligne commande et/ou comme moi oublie/flemmard, qui oublie de faire " | tee modif.log"
merci
PS : le script n'a pas vocation a fonctionner en arriere plan, genre cron
je suis SunOS ajamei1u1 5.10 Generic_147441-01 i86pc i386 i86pc (le bash est donc surement un peu plus limité que les distrib de maintenant)
j'ai un script modif.sh interactive qui fais aussi appel a d'autres scripts/commandes. je voudrais savoir s'il est possible de placer à l'interieur de mon script quelque chose qui indique que ce qui sera affiché a l'ecran devra AUSSI etre envoyer dans un fichier ?
#!/bin/bash #activer le log vers le fichier modif.log . . . . .. #desactiver le log
j'ai cru comprendre qu'il est possible lancer comme ceci :
modif.sh | tee modif.log
mais je préférais que ce soit a l'interieur du script, ce qui permettra de simplement lancer :
modif.sh
c'est un script utiliser par plusieurs personnes pas forcement adepte ligne commande et/ou comme moi oublie/flemmard, qui oublie de faire " | tee modif.log"
merci
PS : le script n'a pas vocation a fonctionner en arriere plan, genre cron
A voir également:
- Bash : rediriger l'affich vers fichier mais en laissant l'affich
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
3 réponses
Bonjour,
Tu dois pouvoir trouver mieux... mais tu peux ajouter |tee modif.log à la fin de chaque ligne pour laquelle tu souhaites avoir une trace dans le fichier.
# | tee modif.log : écrase puis écrit modif.log
# | tee -a modif.log : ajoute à la fin du fichier
Ceci dit, fait des essai sur un petit script pour vérifier que ça marche de la même manière... Et je crois qu'il doit exister un moyen plus propre de le faire.
bon courage,
Tu dois pouvoir trouver mieux... mais tu peux ajouter |tee modif.log à la fin de chaque ligne pour laquelle tu souhaites avoir une trace dans le fichier.
# | tee modif.log : écrase puis écrit modif.log
# | tee -a modif.log : ajoute à la fin du fichier
Ceci dit, fait des essai sur un petit script pour vérifier que ça marche de la même manière... Et je crois qu'il doit exister un moyen plus propre de le faire.
bon courage,
hello
#activer le log vers le fichier modif.log ( commandes ...) | tee modif.log #desactiver le logpour autant qu'il n'y ait pas de définitions de variables puisque entre () on crée une sous tâche