하위 프로세스의 열과 행을 설정하는 방법

하위 프로세스의 열과 행을 설정하는 방법

001,002,003,004...등의 번호가 붙은 일련의 스크립트를 실행하는 스크립트가 있습니다. 지금은 041까지이며 앞으로 더 많은 스크립트가 추가될 예정입니다. 스크립트 자체는 일부 커서 컨트롤을 사용하여 진행률 표시줄 및 기타 상태 정보를 인쇄하고 터미널의 너비와 높이는 tput cols각각 입니다 tput lines.

아래 첨자를 다시 쓰지 않고 계속 유지하고 싶습니다.하나결론포괄적인외부 스크립트에 대한 상태 정보입니다. 행과 열에 대한 tput의 응답을 설정하는 방법이 있는지 궁금합니다.

tmux가 이를 구현하기 때문에 방법이 있어야 합니다. 환경 변수가 있을 수 있다고 생각했지만 env를 실행할 때 tmux에서 볼 수 있는 유일한 변경 사항은 $TERM을 화면으로 설정하는 것입니다.

어떤 도움이라도 대단히 감사하겠습니다.

답변1

다음을 사용하면 tput에서 반환되는 행과 열 수를 맞춤 설정할 수 있습니다.

export LINES=1000
export COLUMNS=1000

답변2

소스 코드를 읽는 것은 괜찮지만 마음이 약한 사람에게는 매뉴얼이 최선의 선택입니다. 명령줄 옵션이 없으면 환경 변수와 결합된 터미널 데이터베이스가 스크립트에 필요한 모든 것을 제공합니다.

깨달음을 찾고, 시도해 볼 수 있습니다저주맨 페이지.

  • 환경, LINES및 가 나열되어 있습니다 COLUMNS.
  • 존재하다LINES, 그냥 보세요라고 쓰여 있어요 COLUMNS.
  • COLUMNS추가 정보 제공:

화면 너비를 문자 단위로 지정합니다. 창 환경에서 실행되는 응용 프로그램은 일반적으로 실행 중인 창의 너비를 얻을 수 있습니다. COLUMNS이 값과 터미널의 화면 크기를 모두 사용할 수 없는 경우저주terminfo 데이터베이스에 지정된 크기(예: 용량)를 사용합니다 cols .

tput이제 이 질문에 대해서는 매뉴얼 페이지가 더 직접적이고 tputs출력용이지만 초기화용 이라고 말하면 setupterm좋을 것입니다 . 때때로 (이 정보가 변경 로그에서 쉽게 이용 가능한 경우) 매뉴얼에 그 정보가 불분명하다는 사실을 아무도 알아차리지 못합니다. 예를 들어 이 프로젝트는2002년:

    + modify setupterm() to ensure that it initializes the baudrate, for
      applications such as tput (report by Frank Henigman).

주제로 돌아가기:

  • 이것초기화curs_terminfo(3x)설명 setupterm, 주의사항
  • 일반적인 상황에서는use_env아직 호출되지 않았 setupterm으므로 LINESCOLUMNS변수가 터미널 데이터베이스 값을 재정의할 수 있습니다.
  • 이것use_env매뉴얼 페이지에서는 이를 반복하고 이러한 값을 운영 체제에서 얻을 수 있다고 설명합니다.
  • 다시 변경 로그에는 tput이 작업(운영 체제에서 값 가져오기)이 언급되어 있습니다.2007년:

    + restore a call to obtain screen-size in _nc_setupterm(), which
      is used in tput and other non-screen applications via setupterm()
      (Debian #433357, reported by Florent Bayle, Christian Ohm,
      cf: 20070310).
    

요약하자면, 기존 문서는 ncurses 동작에 관한 거의 모든 질문에 대한 답변을 제공하지만, 읽어야 할 몇 가지 사항이 있습니다.

관련 정보