スクリプトから全画面を消去し、スクリプト終了後に前のプロンプトを表示する

スクリプトから全画面を消去し、スクリプト終了後に前のプロンプトを表示する

glance今日、私はCPU使用率を監視するツールを使用してオフィスにいました。端末で実行すると、コマンドが画面をglance消去し、すべての操作が完了した後に端末に戻ると、以前のプロンプトが画面に表示されます。前の行をすべて見ることができるという意味です。私の質問は、画面を消去する効果がどのように達成されるかです。このようなコマンドを使用すると、clear全画面を消去する必要がありますが、以前のプロンプトをすべてどのように復元しましたか?いくつかのスクリプトに対して同じ機能を実装したいと思います。

同様に、コマンドを使用すると、vi画面が完全に入力され、終了後に前のプロンプトを表示できます。

ベストアンサー1

多くの端末エミュレータは、一般画面バッファと代替画面バッファの2つの端末出力コピーを維持しています。通常のバッファは、通常、カーソルを現在の行から移動せずにスクロールバック機能を提供するコマンドラインアプリケーションで使用されます。代替バッファはフルスクリーンアプリケーションに使用され、スクロールバック機能を提供しません。

Glance、vi、およびその他の機能は起動時に代替画面に切り替わり、終了時に戻ります。

xtermでは、マウスの中ボタンメニューで「代替画面表示」を切り替えることで、現在の画面以外の画面を表示できます。

スクリプトでtput smcuptput rmcup画面間の切り替えのための制御シーケンスを取得します)を使用できますsmcuprmcup用語情報フルスクリーンモードに切り替えるか、フルスクリーンモードで切り替える機能).

おすすめ記事