" Linux : Complete Reference 6th Edition "(44 페이지)에 따르면 리디렉션 기호를 사용하여 STDERR 만 파이프 할 수 있습니다 |&
.
이것을 테스트하기 위해 매우 간단한 스크립트를 작성했습니다.
#!/bin/bash
echo "Normal Text."
echo "Error Text." >&2
이 스크립트를 다음과 같이 실행합니다.
./script.sh |& sed 's:^:\t:'
아마도 STDERR에 인쇄 된 줄만 들여 쓰기됩니다. 그러나, 실제로는 다음과 같이 작동하지 않습니다.
Normal Text.
Error Text.
내가 여기서 뭘 잘못하고 있니?
./script.sh > /tmp/stdout_goes_here |& grep 'grepping_script_stderr'
일을하지 않는 의도 한대로, 예 : 리디렉션script.sh
의stdout
(먼저 발생해야 수동 조각에 따라하는), 다음 있도록grep
스크립트의 처리를 위해stderr
. 대신stderr
tdout`은 결국stdout_goes_here