終端機視窗的高度和寬度ncurses?

終端機視窗的高度和寬度ncurses?

如何找出開啟的 bash 終端機視窗中的最大行數和字元列數?

我知道我可以像這樣使用curses C 庫找到答案:

getmaxyx(stdscr, mrow, mcol);

我想以相同的方式將 mrow 和 mrol bash 變數關聯到我的 bash 會話。

答案1

Bash 已經內建了您要尋找的變數:$LINES 和 $COLUMNS。

不幸的是,這些僅適用於互動式 shell,通常不適用於腳本,但可以透過向腳本的 shebang 行添加開關來將腳本設定為互動式:

#!/bin/bash -i

答案2

Xterm 附帶了一個名為 的工具resize,可以在腳本內使用它來設定相同的變數:

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

相關內容