终端窗口的高度和宽度是多少?

终端窗口的高度和宽度是多少?

如何找出打开的 bash 终端窗口中的最大行数和字符列数?

我知道我可以使用 curses C 库来找到答案,如下所示:

getmaxyx(stdscr, mrow, mcol);

我希望以相同的方式将 mrow 和 mrol bash 变量关联到我的 bash 会话。

答案1

Bash 已经内置了您正在寻找的变量:$LINES 和 $COLUMNS。

不幸的是,这些只在交互式 shell 中起作用,通常不适用于脚本,但可以通过在脚本的 shebang 行中添加开关将脚本设置为交互式:

/bin/bash -i #!/bin/bash -i

答案2

Xterm 带有一个名为的工具resize,可以在脚本内部使用它来设置相同的变量:

eval $(resize)
echo "The screen is $COLUMNS columns wide."

相关内容