답변:
파이썬 앱은 일반 STDOUT 대신 STDERR 출력 채널에 출력을 작성해야합니다. 셸 구성을 사용하면 >
출력 채널에 기록 된 데이터 만 포착하고 리디렉션하지만 실제로 인쇄 할 수있는 몇 가지 다른 채널이 있으며, 가장 일반적인 두 번째 채널은 일반적으로 오류에 사용됩니다.
STDERR (두 번째 채널)를 다음과 같이 트래핑 할 수 있습니다.
python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json 2>&1
2>&1
구조체 정상 출력 채널 에러에 대한 출력 스트림을 연결한다. 프로그램이 오류 채널에서 캡처하려는 출력을 생성하는 것은 드문 경우입니다. 일반적으로 애플리케이션 데이터가 아닌 디버그 정보 용으로 예약됩니다. 제발 몇 가지주의이 스크립트를 사용 이 비표준 방식으로 작동하고 있기 때문이다.
다음과 같이 출력 및 오류 채널을 다른 파일로 덤프 할 수도 있습니다.
python ./manage.py dumpdata partyapp.InvitationTemplate > partyapp_dump.json 2> error_output.txt
&>
Bash 4.0 및 iirc 최신 버전의 zsh에서만 작동합니다. 보다 편리한 솔루션은foo > bar 2&>1
. 참조 : mywiki.wooledge.org/BashFAQ/014