bashなどのシェルでターミナルのサイズを取得する方法をまとめます
おすすめは tput コマンド
tputコマンドを使うのが無難です
- tput cols でターミナルの横幅
- tput lines でターミナルの高さ
となります.単位はどちらも文字数です
別解1: $COLUMS と $LINES を使う方法
bash限定では $COLUMS と $LINES という環境変数も利用出来ます
ただし,これら変数はインタラクティブシェル限定です.
シェルスクリプト内部で $COLUMSと$LINESを使いたい場合は
shopt -s checkwinsize
を一度実行する必要があります
またスクリプト実行中にターミナルサイズが変わった場合は
シグナル SIGWINCH を受け取るまで,$COLUMSと$LINESの値は更新されません