Bash : rediriger l'affich vers fichier mais en laissant l'affich
Résolu/Fermé
A voir également:
- Bash : rediriger l'affich vers fichier mais en laissant l'affich
- Retour à la ligne bash ✓ - Forum Shell
- Bash path - Astuces et Solutions
- Bash permission non accordée - Forum Shell
- Bash arguments - Astuces et Solutions
- Bingo bash free - Télécharger - Divers Jeux
3 réponses
laoshu
Messages postés
1231
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
24 mai 2015
350
10 janv. 2013 à 09:01
10 janv. 2013 à 09:01
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,
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
Modifié par dubcek le 10/01/2013 à 09:04
Modifié par dubcek le 10/01/2013 à 09:04
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 409
10 janv. 2013 à 09:54
10 janv. 2013 à 09:54
Salut,
puisque entre () on crée une sous tâche
Alors utiliser les "{}" qui elles restent dans le shell courant, non ? ;-)
Voir aussi de placer en début de script :
puisque entre () on crée une sous tâche
Alors utiliser les "{}" qui elles restent dans le shell courant, non ? ;-)
Voir aussi de placer en début de script :
#!/bin/bash exec > >(tee -a fich.log) exec 2> >(tee -a fich.log >&2)
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
10 janv. 2013 à 10:57
10 janv. 2013 à 10:57
{} effectivement !
on peut aussi mettre ça dans le script, mais la sortie n'est plus séquentielle et ça me dérange
on peut aussi mettre ça dans le script, mais la sortie n'est plus séquentielle et ça me dérange
exec 3>&1 > >(tee -a log) ...... # Restore stdout exec 1>&3 3>&-
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 616
10 janv. 2013 à 14:20
10 janv. 2013 à 14:20
avec {} le problème des variables reste le même