읽을 수 있는 텍스트를 얻으려면 다음 중 하나를 사용하십시오. 그러나 stderr 리디렉션을 통해서만 스크롤하거나 /somepattern을 입력하고 일치하는 항목을 얻을 수 있습니다.
이것이 없으면 검색 시 "검색할 내용이 없습니다(RETURN 누르기)" 및 열 ~가 표시됩니다.
주어진 경우, stderr과 stdout은 동일하지 않지만, 왜 less로 작업을 시작할 때까지 less가 동일하다고 표시합니까?
이것은 아마도 내가 이해하지 못하는 이상한 다중 창 vim 일 것입니다. 아이디어?
답변1
+--------------------+ +------+ +----------+
| stdout |·······→| less |——————→| |
| somecommand | +------+ | terminal |
| stderr |——————————————————————→| |
+--------------------+ +----------+
표준 오류로 텍스트를 인쇄하는 경우 를 실행할 somecommand
때 및 둘 다 터미널에 인쇄됩니다 . stderr의 명령 출력은 리디렉션되지 않기 때문에 터미널에 직접 출력되지 않습니다. 첫째 , less가 초기화되면 출력이 스크롤되어 프롬프트 줄을 표시한 다음 완료되면 less는 입력이 완료되었음을 알립니다(파이프가 닫혔기 때문입니다). 다음을 시도해 볼 수도 있습니다. 실행somecommand | less
somecommand
less
less
somecommand
somecommand
{ sleep 1; somecommand; sleep 1; } | { sleep 0; less; }
또한 somecommand
less가 준비되기 전이나 후에 출력을 생성하는 절전 시간을 변경하고 파이프가 닫힐 때 어떤 일이 일어나는지 확인하세요.