ウィンドウのサイズ変更、フォントサイズの変更など、端末の現在の表示幅がどのくらいであるかをすばやく簡単に確認する方法は?
答え1
答え2
シェルによってCOLUMNS
ウィンドウサイズが変更されると、(および)変数が自動的に設定されることがあります。LINES
bash、zsh、kshの両方が利用可能です。ダッシュ番号。 tcshはそうではありません。
からman bash
:
COLUMNSは、選択リストを印刷するときに端末の幅を決定するために複合選択コマンドによって使用されます。 checkwinsizeオプションが有効になっている場合、またはSIGWINCHを受信した後、対話型シェルで自動的に設定されます。
そして
ライン
印刷選択リストの列の長さを決定するために、select complexコマンドで使用されます。 checkwinsizeオプションが有効になっている場合、またはSIGWINCHを受信した後、対話型シェルで自動的に設定されます。
次のエイリアスが役に立つことがわかりました。
$ alias ttystat='echo $(tty) $TERM ${COLUMNS}x$LINES'
$ ttystat
/dev/pts/2 xterm 192x51
答え3
間違いなくより短い方法がありますが、次はPOSIX指定ユーティリティ以外には何も使用せずに高速インタラクティブチェックを実行します。
printf '0123456789\n1234567890\n' | sed '1s/./&&&&&&&&&&/g;1s/^.//;2s/.*/&&&&&&&&&&/'
コマンドを実行し、ディスプレイの右端にある数字を読みます。これを2桁下に読むと、列数がわかります。
72列端子の出力例(表示):
$ printf '0123456789\n1234567890\n' | sed '1s/./&&&&&&&&&&/g;1s/^.//;2s/
.*/&&&&&&&&&&/'
000000000111111111122222222223333333333444444444455555555556666666666777
777777788888888889999999999
123456789012345678901234567890123456789012345678901234567890123456789012
3456789012345678901234567890
$