2017-01-10 6 views
0

コマンドの出力行の長いリストの後に視覚的な中断を与えたいときは、普通はclearを実行して端末が画面をクリアするようにする。また歴史を残している(対reset)。端末の画面をクリアするが視覚的な間隔を維持する

問題は、スクロールアップすると、端末が履歴の途切れがなく、出力の長い行に戻ってしまうことです。

私はyes '' | head -n $(tput lines)を実行することで「画面の空白行をエコーする」という考えがありましたが、カーソルが画面の最下部にあります。だから私はclearを実行しようとするが、それは空の行を削除するようだ。私もtput cup 0 0を試しましたが、それも空の行を削除します(私は、画面の空白行を "元に戻す"と推測します)。

空の文字列の代わりにyesの文字を印刷することで、空の行を強制することも、空の行の末尾に文字/メッセージを印刷することもできます。でも今はゴミを入れています。

私は仕事に行くことができました唯一のものは、次のとおりです。

yes '' | head -n $(($(tput lines) * 2)) 
tput cup 0 0 

は別の方法はありますか、これは私の唯一のオプションですか?

答えて

0

本質的にはい - さまざまな方法でスクリプトを表現できますが、ほとんどの端末ではスクリプトを改善するために使用できる1つのアスペクトが許可されていません。スクロールすると、空白行がスクロールバーに移動しません。だから、(例えば)このようにそれを行うことはできません。

tput cup $(tput lines) 
tput indn $(($(tput lines) * 2)) 
tput cup 0 0 
tput ed 

あなたはindn(インデックス)から期待空白行は無視されるからです。

関連する問題