Bash 파이프는 더 많은 출력을 제공합니다.

Bash 파이프는 더 많은 출력을 제공합니다.

여기서 몇 가지 bash 환경 설정이 궁금합니다. bash의 stdout을 /bin/more의 파이프로 설정할 수 있습니까? vi를 명령 편집기로 사용하는 것과 마찬가지로 Ctrl-PgUp 또는 Ctrl-PgDown을 사용하여 모든 출력을 볼 수 없습니다(기본적으로).

좀 더 구체적으로: 나는아니요파이프를 통해 출력하고 싶습니다.하나의명령은 다음과 같습니다.

$> ls | more
a b c
...
--more--

하지만: 파이프어느현재 세션에 대한 출력이 더 있으므로 평소대로 프롬프트 아래에 모든 출력 프린트를 가져오거나 출력이 너무 많으면 화면을 누르세요.

# automatically piped to more:
$> ls 
a b c
...
--more--

이 작업을 수행하기 위한 내장 bash가 있습니까?

편집: 충분히 구체적이지 않았습니다. 죄송합니다. "스크립트"와 명령 그룹화에 대해 알고 있습니다.

(cmdA; cmdB) | less

내가 정말로 원하는 것은 한 번에 100페이지의 출력을 자동으로 피하고 대신 bash의 stdout과 유사한 동작을 갖는 것입니다. 이 작업은 추가하여 수행할 수 있습니다.

 2>&1 | more

명령 프롬프트에 입력된 모든 명령에 대해 - 자동으로 실행됩니다.

답변1

귀하의 질문은 귀하가 달성하려는 목표에 대해 충분히 구체적이지 않습니다. 나는 몇 가지 추측을 해볼 것이다:

세션에서 일어나는 모든 일을 추적하려는 경우 사용합니다 script. 자세한 내용은 을 참조하세요 man script.

여러 명령의 출력을 블록으로 결합하려면 less다음과 같이 중괄호를 사용하도록 파이프하십시오.

(date; echo; cat /etc/hosts; echo; cat /etc/resolv.conf; echo; host bla.bla) | less

쉘에 입력하는 동안 more 를 동시에 사용하면 쉘과 less키보드 모두에서 읽을 것으로 예상하므로 작동하지 않습니다 stdin. 이것이 바로 터미널 프로그램에 페이지 위아래 및 검색 기능이 있는 이유입니다.

관련 정보