如何查找终端中可用的垂直线数量?

如何查找终端中可用的垂直线数量?

我正在编写一个脚本,当我进入某个目录时,该脚本会显示该git log目录的。cd

这样的日志可能会很庞大,包含数百行。到目前为止,我一直将其限制为带有 ( ... | head -n 30) 的硬编码 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'

相关内容