2017-01-09 2 views
-2

두 개의 프로그램 : p1과 p2가 있습니다. 나는 p1을 달린다 | p2. 나는 p2 stdin에서 p1로부터 stdout을 읽는 법을 안다. 나는 stderr로 어떻게 할 수 있는가?stdin, stderr from Python에서 읽기

덕분 니콜라

+0

이것은 파이썬과 관련이 없지만 bash와 관련이 있습니다. 분명히 파이프를 사용하고 있기 때문입니다. stderr을 stdout으로 리디렉션하거나 2 | | 대신 | – MacHala

답변

3

대부분 또는 모든 껍질에서 파이프 (|)는 명령의 표준 출력을 취하고 번째 명령을 전달한다.

따라서 첫 번째 명령에서 stderr을 가져 오는 것은 명령 줄에서만 수행 할 수 있습니다. bash에서는 이렇게 할 수 있습니다 :

p1 2>&1 | p2 

이렇게하면 stderr를 stdout으로 전달하도록 bash에 지시합니다. 둘 다 p2로 파이프됩니다.

또는 p1이 모든 것을 표준 출력으로 만 인쇄하도록 만들 수 있습니다.

+0

감사합니다. p2에서 stdin을 인쇄하는 경우 p1에서 stderr 및 stdout이 전송 된 위치를 어떻게 알 수 있습니까? – dagnic

+0

죄송합니다. 문제에 대해 좀 더 자세하게 설명해야합니다. –

관련 문제