Je suis en train d'exécuter le shell tcsh/csh sur ma machine. Dernièrement, j'ai réalisé que ma redirection de fichier stderr ne fonctionnait pas.Méthodes de redirection stderr
S'il vous plaît trouver les journaux du terminal comme ci-dessous:
>echo b c >>& log
>cat log
b c
>echo $a b c >>& log
a: Undefined variable.
>cat log
b c
Je n'ai jamais rencontrés ces questions, donc pas sûr de savoir comment déboguer ou dépanner. S'il vous plaît avis!
Une méthode de redirection alternative utilise té. Pendant que j'utilise> & ou >> &, je bloque complètement toute sortie à afficher sur le terminal. Y a-t-il un moyen de faire les deux, c'est-à-dire: pour chaque instruction
a) de diriger stdout + stderr vers un fichier.
b) stdout d'affichage + stderr sur la borne
Je dois confirmer si je peux utiliser quelque chose comme ça (ci-dessous) pour répondre à mes besoins Dans mon cas
>csh ./script_name | tee -a log
il dirige seulement StdOut de se connecter fichier et bloque stderr.
Je ne suis pas sûr de savoir comment vérifier cela. D'après ce que je comprends, même si l'interprétation est faite pour $ a, il ne devrait pas arrêter l'exécution, mais devrait diriger stdout + stderr vers le fichier journal. – Ani
@Ani, vous pouvez le vérifier, comme je l'ai fait, en forçant la redirection à se produire d'abord _then_ en faisant l'expansion, a la '(echo $ a) >> & log'. J'ai mis à jour la réponse avec plus de détails. – paxdiablo
Merci pour la réponse, cela me fait mieux comprendre comment les instructions sont en cours d'exécution. – Ani