
ssss-combine
지금까지 성공하지 못한 채 출력을 파일로 리디렉션하려고 합니다 .
기본 사항을 시도했지만 항상 화면에 표시 > file
되고 파일에는 아무것도 입력되지 않습니다.2>&1 > file
tee file
답변1
비록 지정하지는 않았지만정확한실행 중인 명령이므로 확실히 말하기는 어렵습니다. 명령이 stdout이 아닌 표준 오류 파일 설명자(일명 stderr)에 인쇄된다고 가정합니다.
리디렉션 > file
은 | tee file
stdout만 리디렉션하고 stderr은 리디렉션하지 않습니다.
2>&1 > file
당신이 찾고 있는 것도 하지 않습니다. 먼저 오류를 현재 stdout이 있는 위치(터미널 에뮬레이터)로 리디렉션하고그 다음에stdout(stderr이 아닌 stdout만)을 파일로 리디렉션합니다.
stderr를 리디렉션하는 데 사용하거나 2>file
이전 예에서 두 가지 리디렉션을 교환하여 >file 2>&1
두 스트림을 동일한 파일로 리디렉션할 수 있습니다. 왼쪽에서 오른쪽으로 평가되므로 순서가 중요합니다. 이번에는 먼저 출력을 파일로 리디렉션한 다음 오류를 출력의 현재 위치(이미 해당 파일임)로 리디렉션합니다.
답변2
트릭은 사용하는 것입니다 script -c 'ssss-combine ...' output.txt
(ssss는 stdout으로 출력하지 않기 때문에)