stderr에서 응답을 반환하고 stderr에서 오류를 반환하는 프로그램이 있습니다. 불행히도 프로그램이 성공하더라도 stderr에 일부 텍스트를 방출하여 프로그램이 종료됩니다.stderr를 명령 확장에서 파이프로 캡쳐
명령 확장을 사용하여 변수에 프로그램 출력을 저장하고 싶습니다.ans = $ (prog) 2> & 1 | grep -v success
이것은 작동하지 않습니다. 2> & 1을 괄호에 넣으려고했지만 $ ans가 의심 스럽기 때문에 은 성공 텍스트를 얻습니다.
아이디어가 있으십니까? 당신은 표준 오류 스트림에서 '성공'을 필터링하려면
ans=$(prog 2>&1 | grep -v success)
, 당신은 같은 것을 사용할 수 있습니다 :
내 사례에는 도움이 될 것입니다. 감사합니다. 그러나 prog의 결과가 "성공"이라는 텍스트를 반환하면 작동하지 않습니다. – user1165758
당신은 가능한 프로그램 출력과'ans' 변수에서 얻고 자하는 것에 관해서 아무 말도하지 않았습니다. 오류 스트림에서만 '성공'단어가있는 모든 행을 필터링하려고합니까? –
답을 업데이트했습니다. 귀하의 질문이 소진되면, 당신은 대답을 수락하실 수 있습니다. –