001,002,003,004...등의 번호가 붙은 일련의 스크립트를 실행하는 스크립트가 있습니다. 지금은 041까지이며 앞으로 더 많은 스크립트가 추가될 예정입니다. 스크립트 자체는 일부 커서 컨트롤을 사용하여 진행률 표시줄 및 기타 상태 정보를 인쇄하고 터미널의 너비와 높이는 tput cols
각각 입니다 tput lines
.
아래 첨자를 다시 쓰지 않고 계속 유지하고 싶습니다.하나결론포괄적인외부 스크립트에 대한 상태 정보입니다. 행과 열에 대한 tput의 응답을 설정하는 방법이 있는지 궁금합니다.
tmux가 이를 구현하기 때문에 방법이 있어야 합니다. 환경 변수가 있을 수 있다고 생각했지만 env를 실행할 때 tmux에서 볼 수 있는 유일한 변경 사항은 $TERM을 화면으로 설정하는 것입니다.
어떤 도움이라도 대단히 감사하겠습니다.
답변1
다음을 사용하면 tput에서 반환되는 행과 열 수를 맞춤 설정할 수 있습니다.
export LINES=1000
export COLUMNS=1000
답변2
소스 코드를 읽는 것은 괜찮지만 마음이 약한 사람에게는 매뉴얼이 최선의 선택입니다. 명령줄 옵션이 없으면 환경 변수와 결합된 터미널 데이터베이스가 스크립트에 필요한 모든 것을 제공합니다.
- 이것
tput
매뉴얼 페이지에는 환경 변수에 대한 언급이 없습니다. - 하지만당신은 또한 볼 수 있습니다부분은 당신을 지칭합니다curs_termcap(3x), termcap 인터페이스(기능) 매뉴얼.
- 해당 페이지에서는포맷 기능관련성이 있고
tputs
다음을 가리킨다.curs_terminfo(3x)
페이지. - 다시 (참조출력 기능)은 환경 변수를 명시적으로 언급하지 않습니다.
깨달음을 찾고, 시도해 볼 수 있습니다저주맨 페이지.
화면 너비를 문자 단위로 지정합니다. 창 환경에서 실행되는 응용 프로그램은 일반적으로 실행 중인 창의 너비를 얻을 수 있습니다.
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
으므로LINES
및COLUMNS
변수가 터미널 데이터베이스 값을 재정의할 수 있습니다. - 이것
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 동작에 관한 거의 모든 질문에 대한 답변을 제공하지만, 읽어야 할 몇 가지 사항이 있습니다.