터미널에서 사용 가능한 수직선 수를 찾는 방법은 무엇입니까?

터미널에서 사용 가능한 수직선 수를 찾는 방법은 무엇입니까?

저는 특정 디렉토리에 들어갈 때 스크립트가 해당 git log디렉토리를 표시하는 스크립트를 작성하고 있습니다.cd

이러한 로그는 수백 줄을 포함하여 매우 클 수 있습니다. 지금까지는 ( )로 하드코딩된 30줄로 제한했는데 ... | head -n 30, 이는 직장의 큰 화면에서는 멋지지만 집에서는 너무 큽니다. 직장에서는 Gnome, 집에서는 iTerm2와 같은 모든 터미널에서 로그가 (수직) 화면의 절반 정도를 차지하도록 하고 싶습니다. 나는 screen이나 tmux를 사용하지 않습니다. 하지만 그들에게서 배우고 싶습니다.

명령줄에서 터미널에서 사용 가능한 수직선 수를 찾는 방법은 무엇입니까?

답변1

터미널 매개변수는 $LINES$COLUMNS변수로 저장됩니다.

또한 다음과 같은 특수 용어 연산자를 사용할 수 있습니다 tput.

tput lines  # outputs the number of lines of the present terminal window.
tput cols   # outputs the number of columns of the present terminal window.

답변2

이 명령은 터미널의 줄 수를 제공합니다.

stty size | cut '-d ' -f1

일부 시스템에서는 이것이 불가능할 수 있으므로 stty size다음과 같은 것이 필요할 수 있습니다.

stty -a | tr \; \\012 | grep rows | tr -d ' rows'

관련 정보