web-dev-qa-db-ja.com

ターミナルで利用可能な垂直線の数を見つけるにはどうすればよいですか?

私はそれにcdしたときにディレクトリのgitログを表示するスクリプトを書いています。このようなログは、数百行を含む膨大な量になる可能性があります。これまでのところ、これはハードコードされた20行(... | head -n 20)、職場の画面では問題ありませんが、自宅の小さなMacBook画面では多すぎます。

どちらの端末でも(垂直)画面の約半分をログが占めることを望みます。そして「ターミナル」も変更されます。それは仕事ではGnomeターミナルですが、自宅ではiTerm2です。また、screenやtmuxは使用していません。

コマンドラインからターミナルで利用可能な垂直線の数を見つけるにはどうすればよいですか?

13
jalanb

端末パラメータは、$LINESおよび$COLUMNS変数として格納されます。

さらに、tputなどの特別な用語操作プログラムを使用できます。

tput lines  # outputs the number of lines of the present terminal window.
tput cols   # outputs the number of columns of the present terminal window.
21
Costas

このコマンドにより、端末の行数が表示されます。

stty size | cut '-d ' -f1

一部のシステムではstty sizeが実装されていない可能性があるため、代わりに次のようなものが必要になる場合があります。

stty -a | tr \; \\012 | grep rows | tr -d ' rows'
9
Celada