내 상황은 다음과 같습니다. 내가 요청할 때SQL예정\돕다, 출력을 다음으로 보냅니다.더 적은. 가끔 다음 쿼리를 작성하는 동안 도움말 내용을 유지하고 싶을 때가 있습니다. 내가 말하면 일어날 수 있을 거라 생각했는데더 적은표준 출력에 쓰기(예:더할 것이다,대화형 모드에서.
한계:
\help의 내용을 본 후에 이런 일이 발생해야 하는지 결정하겠습니다. 따라서 psql에서 사용하는 호출기를 사용자 정의하는 것은 (제 생각에는) 옵션이 아닙니다. 이는 내 질문이 중복되지 않았음을 의미합니다.
https://stackoverflow.com/questions/14474138/customize-pager-in-psql
또는:
전체 파일을 한 화면에 표시할 수 있는 경우 표준 출력으로 인쇄되는 양을 줄이십시오.
내가 현재 사용하고 있는 것:
\setenv PAGER more OR \setenv PAGER 'less -X'
\help alter user
q (to exit less or more)
-- Now I can write my query while looking at the alter user syntax above
이 접근 방식에서 누락된 점은 콘텐츠를 본 후 -X 옵션을 원하는지 선택한다는 것입니다. 메인 버퍼와 백업 버퍼에 기록하면 더 적은 기능을 얻을 수 있다고 생각합니다.
답변1
출력을 저장하고 에 공급하는 자체 호출기 스크립트를 제공할 수 있습니다 less
. 그런 다음 종료할 때 less
출력을 다시 표시하거나 less
직접 종료하도록 선택할 수 있습니다. 예를 들어, 출력 도움말이 파이프라인에 있고 less
인수 없이 호출된다고 가정합니다.
#!/bin/bash
if tee /tmp/save | less -K
then cat /tmp/save
fi
-K
종료를 less
켜서 반환 코드를 0 대신 2에서 2로 변경합니다 control-c. 그래서 정상적으로 종료 less
하면 입력이 반복되지만, 중단하면 추가 출력을 얻지 못합니다.less
cat