置き換え可能なテキストはターミナルでどのように表示されますか?

置き換え可能なテキストはターミナルでどのように表示されますか?

たとえば、 を実行した後、同じ行でパーセンテージが変化するとapt-get update表示されます 。Reading package lists... 82%

それはどのように実現されるのでしょうか? bash スクリプトで使用することは可能ですか?

答え1

端末は、カーソルを移動したり、テキストの色を変更したり、その他のアクションを実行するためのエスケープシーケンスを理解します。これらのエスケープシーケンスは、タームキャップそして用語情報データベースは端末の種類によって異なるため、エスケープ シーケンスは異なります (ただし、今日のほとんどの端末の種類では、ほとんど同じエスケープ シーケンスが実装されています)。

アプリケーションの出力全体を記録することができます。脚本ユーティリティ。

script -c 'apt-get update' apt-get.script

apt-getシンプルに:制御文字のみを使用するキャリッジリターン(CR、Ctrl+M、\r… とも呼ばれます) は、カーソルを現在の行の先頭に移動します。

答え2

まだ新しい行を出力していない場合(例:-necho コマンドの場合、コマンド:

echo -e "\r\033["

うまくいくでしょう。

関連情報