&&로 연결된 명령의 출력/리디렉션 캡처

&&로 연결된 명령의 출력/리디렉션 캡처

일련의 명령 a,b,c가 있고 이를 && a && b && c:로 연결합니다.

모든 명령의 출력을 stdout 및 stderr로 캡처하고 싶습니다. a && b && c 2>&1 > capture_file c 명령의 출력만 캡처합니다.

답변1

{ a && b && c; } >capture_file 2>&1

리디렉션 순서에 유의하세요. 먼저 표준 출력을 리디렉션해야 합니다.

답변2

명령 그룹화를 사용하는 것 외에도 {}서브셸에서 명령을 실행하고 출력(및/또는 오류)을 즉시 캡처할 수 있습니다.

( a && b && c ) >file.txt 2>&1

예:

$ ( echo foo && echo bar && echo baz && echos foo ) >check 2>&1

$ cat check
foo
bar
baz
No command 'echos' found, did you mean:
 Command 'echo' from package 'coreutils' (main)
echos: command not found

관련 정보