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-get
hä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.