2010-08-01 5 views

Répondre

4

Vous pouvez utiliser script pour créer un journal de votre session shell

1

Si vous écrivez un script, je vous recommande écrire une fonction shell et rediriger sa sortie. Vous n'aurez pas à rediriger chaque commande de cette fonction alors. Je ne vois guère de sens dans les redirections en shell interactif de toute façon.

+0

J'ai été ravi de constater que bash 4.1 propose d'écrire l'historique des commandes dans syslog. J'espere pour ce niveau de commodite dans la journalisation des messages de sortie et d'erreur. – ktenney

1

La commande exec, si aucune commande n'est exécutée, applique ses redirections au shell en cours. Dans mes tests, cependant, cela ne semble pas très bien fonctionner pour les tuyaux. Je suggère d'utiliser un sous-shell, que vous pouvez rediriger normalement.

(
    echo hello 
    echo hello err >&2 
) 2>&1 | tee logfile.txt 

Si vous avez seulement besoin d'un relevé de notes, pas un tee-shirt en continu, exec >& logfile pourrait fonctionner.

En outre, une astuce traditionnelle consiste à utiliser un outil de connexion à distance (ssh ou telnet) redirigé vers tee pour créer un journal d'une session interactive. screen prend également en charge la journalisation.

Questions connexes