Wie wird ersetzbarer Text in einem Terminal angezeigt?

Wie wird ersetzbarer Text in einem Terminal angezeigt?

Nachdem Sie dies beispielsweise getan haben apt-get update, wird Reading package lists... 82%die prozentuale Änderung in derselben Zeile angezeigt.

Wie wird das erreicht? Ist es möglich, es in einem Bash-Skript zu verwenden?

Antwort1

Terminals verstehen Escape-Sequenzen, um den Cursor zu bewegen, die Textfarbe zu ändern und andere Aktionen auszuführen. Diese Escape-Sequenzen werden imBegriffserklärungUndTermininfoDatenbanken, da sie sich zwischen Terminaltypen unterscheiden (obwohl die meisten Terminaltypen heutzutage größtenteils dieselben Escape-Sequenzen implementieren).

Sie können die gesamte Ausgabe einer Anwendung aufzeichnen mit demSkriptDienstprogramm.

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

apt-gethält die Dinge einfach: es verwendet nur das SteuerzeichenWagenrücklauf(bekannt als CR, Strg+M, \r, …), wodurch der Cursor an den Anfang der aktuellen Zeile bewegt wird.

Antwort2

wenn Sie noch keine neue Zeile ausgegeben haben (z.B.: used-Nim Echo-Befehl), der Befehl:

echo -e "\r\033["

wird es richten.

verwandte Informationen