端末で利用可能な垂直線の数を見つけるには?

端末で利用可能な垂直線の数を見つけるには?

私は特定のディレクトリに入ったときにスクリプトがそのgit logディレクトリを表示するスクリプトを書いています。cd

これらのログは、数百行を含む非常に大きい場合があります。これまでは()でハードコーディングされた30行に制限していましたが... | head -n 30、これは職場の大きな画面では素晴らしいですが、家では大きすぎます。職場ではGnome、家ではiTerm2などのすべての端末でログが(垂直)画面の半分程度を占めるようにしたいと思います。私はスクリーンやtmuxを使用しません。しかし、彼らから学びたいです。

コマンドラインで端末で利用可能な垂直線の数を見つけるには?

答え1

端末パラメータは$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.

答え2

このコマンドは端末の行数を提供します。

stty size | cut '-d ' -f1

一部のシステムではこれが不可能な場合があるため、次のようなものが必要になるstty size場合があります。

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

関連情報