2013-04-16 2 views
0

에 (bash는) 파이프 변수에 표준 출력과 표준 에러로 : 파이프가 성공적으로 완료하면 내가 그 부탁나는이 같은 파이프가 어떻게 명령

VAR=`command1 | command2 | etc...` 

와, 출력은 VAR에 저장되며 파이프의 모든 지점에서 파이프가 실패하면 오류가 명령으로 보내집니다. 이 명령은 특정 형식의 오류를 일부 파일에 기록합니다. 뭐 그런 (하지만이 작동하지 않습니다) : 나는 다른 조합을 시도했습니다

VAR=`{ command1 | command2 | etc... ; } 2> err_command` 

:

|& err_command 
2>&1 | err_command 

는하지만 그들은 작동하지 않습니다와 나는 이유를 알지 못한다.

답변

3

프로세스 대체를 사용해보십시오.

VAR=`{ command1 | command2 | etc... ; } 2> >(err_command)` 
+0

완벽하게 작동합니다. 나는 전에 이것을 시도했다고 맹세하겠다. 고맙습니다. –