터미널이 라인을 자르거나 되감는지 감지합니다.

터미널이 라인을 자르거나 되감는지 감지합니다.

내가 이해한 바에 따르면 터미널 에뮬레이터의 "전통적인" 동작은 창이 좁아지면 긴 줄을 잘라내는 것이고 일부 터미널은 크기가 조정될 때 내용을 다시 압축하는 것입니다.

Bash 스크립트(또는 최후의 수단으로 C 프로그램)가 터미널이 사용하는 두 가지 동작 중 무엇을 감지할 수 있습니까?

답변1

Bash를 사용하는 경우 동작을 직접 설정하면 어떨까요?

예를 들어 다음과 같은 몇 가지 옵션이 있습니다.

shopt -s checkwinsize

bash에게 winsize를 확인하고 적절한 조치를 취하라고 지시합니다. 매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.

설정된 경우 bash는 각 명령 후에 창 크기를 확인하고 필요한 경우 LINES 및 COLUMNS 값을 업데이트합니다.

열과 행의 수를 확인한 후 설정할 수도 있습니다.

echo $COLUMNS; echo $LINES

원하는 것이 아닐 경우 다음과 같이 설정할 수 있습니다.

COLUMNS=75;
LINES=20;
export COLUMNS LINES;

bash 스크립트에서 이 모든 작업을 수행할 수 있습니다.

관련 정보