Capturer le terminal

Résolu/Fermé
gnugo - 7 févr. 2012 à 17:15
 gnugo - 7 févr. 2012 à 18:57
Bonjour,



Je voudrais enregistrer mon terminal : les commandes tapées et leurs résultats.
J'ai essayé avec les redirections mais cela change le comportement. Par exemple "ls" illustre bien le problème : dans le terminal, la réponse s'affiche en couleurs, alors qu'avec une redirection je perds ces codes de couleur que je souhaite conserver.
Comment pourrais-je procéder?
Merci

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
7 févr. 2012 à 17:25
Salut,

À part filmer ton écran je ne vois pas ;-\

C'est ton terminal qui interprète les séquences codées envoyées par la commande "ls" et qui les affichent en couleurs. À partir du moment où tu envoies ça dans un fichier, ce n'est plus qu'un simple texte qui sera interprété par ton éditeur comme du simple code ASCII.
0
Oui le terminal interprète les séquences codées envoyées par "ls" qui correspondent à des couleurs.
Mais quand je les envoie dans un fichier, interprétées ou pas elles ne sont pas là du tout , comme si j'avais fait un "ls -1"

Mais je souhaite récupérer le véritable retour de "ls" avec les codes de couleur en dur.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
7 févr. 2012 à 17:51
Mais je souhaite récupérer le véritable retour de "ls" avec les codes de couleur en dur.
Ce n'est pas possible ;-(

Comme je te l'ai dit, c'est le terminal qui interprète les codes envoyés par "ls". Pour que ton lecteur de fichiers les interprète (sous réserve qu'il puisse le faire), il faudrait que "ls" lui envoie sa sortie formatée selon le code de ton lecteur.
0
Je ne souhaite pas que mon "lecteur de fichier" interprète quoi que ce soit, je désire juste enregistrer le retour brut du "ls" que je tape dans mon terminal, dans un fichier.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
7 févr. 2012 à 18:13
dans le terminal, la réponse s'affiche en couleurs, alors qu'avec une redirection je perds ces codes de couleur que je souhaite conserver.

J'ai mal compris ???
0
Non tu as bien compris.
"ls" retourne un résultat différent selon que la sortie standard est un terminal (tty) ou autre chose.
Quand c'est un tty, il envoie un résultat avec les codes de couleurs (c'est le résultat que je veux) et dans les autres cas (pipe, redirection vers fichier,...) il envoie un résultat différent et sans ces codes de couleur.

On peut d'ailleurs reproduire le même comportement dans un script bash avec le test [ -t 1 ] qui sera vrai si la sortie standard (1) est un terminal, et faux sinon.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
7 févr. 2012 à 18:37
Ben comme expliqué plus haut ce n'est pas possible en dehors d'un terminal !
0