
NAS에서 오류를 리디렉션하는 방법을 찾을 수 없습니다.
쉘은 /bin/sh
사용 중이지만 > mylogfile.log 2>&1
여전히 터미널에 오류 인쇄가 표시됩니다. 구체적인 명령은
find /volume1/ | grep "totoro" > ~/totoro.log 2>&1
에서 오류가 발생했습니다 find
. 리디렉션이 작동하도록 하는 방법이 있나요? find
로그 파일에 오류를 기록하는 방법은 무엇입니까 ?
답변1
find /volume1/ | grep "totoro" > ~/totoro.log 2>&1
당신은 2>&1
영향을 미칠 grep
뿐이지 find
. 아래 명령에서 첫 번째 2>&1
영향은 다음과 같습니다 find
.
find /volume1/ 2>&1 | grep "totoro" > ~/totoro.log 2>&1 # probably wrong
find
그러나 이것은 stdout과 함께 stderr을 에서 으로 보냅니다 grep
. grep
에서 stderr을 필터링하고 싶지 않을 수도 있습니다 find
. 전체 구성된 명령의 stdout 및 stderr을 캡처하려는 것 같습니다. 그렇다면 명시적인 하위 셸에서 명령을 실행하고 출력 및 오류 스트림을 리디렉션합니다.
(find /volume1/ 2>&1 | grep "totoro") > ~/totoro.log 2>&1
답변2
"티" 명령을 참조하세요. 표준 입력에서 읽고 표준 출력 및 파일에 씁니다. 여기서는 이것이 도움이 될 수 있습니다.