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.  

관련 정보