將 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.  

相關內容