たとえば、 を実行した後、同じ行でパーセンテージが変化すると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["
うまくいくでしょう。