ターミナルウィンドウの高さと幅は ncurses ですか?

ターミナルウィンドウの高さと幅は ncurses ですか?

開いている bash ターミナル ウィンドウで最大行数と文字列数を確認するにはどうすればよいですか?

次のように curses C ライブラリを使用して調べることができることはわかっています。

getmaxyx(stdscr, mrow, mcol);

同じ方法で、mrow および mrol bash 変数を bash セッションに関連付けたいと思います。

答え1

Bash には、必要な変数 $LINES と $COLUMNS がすでに組み込まれています。

残念ながら、これらは対話型シェルでのみ機能し、通常はスクリプトでは機能しませんが、スクリプトのシェバン行にスイッチを追加することで、スクリプトを対話型に設定することは可能です。

#!/bin/bash -i

答え2

Xterm には というツールが付属しておりresize、これをスクリプト内で使用して同じ変数を設定できます。

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

関連情報