Leiten Sie stderr und stdout auf einen anderen Dateideskriptor um

Leiten Sie stderr und stdout auf einen anderen Dateideskriptor um

exec 6>&1kopiert Dateideskriptor 1 auf 6.

Aber wie kann ich sowohl stderr als auch stdout (1 und 2) in den Dateideskriptor 6 kopieren?

Antwort1

Leiten Sie stdout auf 6 und stderr auf stdout um (damit es weiter auf 6 umgeleitet wird):

command >&6 2>&1

Antwort2

Ich glaube nicht, dass Sie zwei Dateideskriptoren in einen umleiten können, aber Sie können zwei Dateideskriptoren verwenden, die auf eine Datei verweisen

exec 1>./all.txt
exec 2>./all.txt

Antwort3

Versuche es mit:

command &>&6

&>filename  
    # Redirect both stdout and stderr to file "filename."  
    # This operator is now functional, as of Bash 4, final release.  
M>&N  
    # "M" is a file descriptor, which defaults to 1, if not set.  
    # "N" is another file descriptor.  

verwandte Informationen