将 stderr 和 stdout 重定向到另一个文件描述符

将 stderr 和 stdout 重定向到另一个文件描述符

exec 6>&1将文件描述符 1 复制到 6。

但是如何将 stderr 和 stdout (1 和 2)复制到文件描述符 6 ?

答案1

将 stdout 重定向到 6,将 stderr 重定向到 stdout(因此它将进一步重定向到 6):

command >&6 2>&1

答案2

我不认为您可以将两个文件描述符重定向为一个,但您可以使用指向一个文件的两个文件描述符

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

答案3

尝试使用:

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.  

相关内容