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
- Bash permission non accordée - Forum Shell
- Bingo bash free - Télécharger - Divers Jeux
- Bash écrire dans un fichier - Forum Shell
- Bash path - Astuces et Solutions
- Bash: adduser : commande introuvable ✓ - Forum Debian
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
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
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 418
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
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
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
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
10 janv. 2013 à 14:20
10 janv. 2013 à 14:20
avec {} le problème des variables reste le même