GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie lösche ich gedruckte Zeichen in einer Konsolenanwendung (Linux)?

Ich denke nicht, dass Sie sich für die Sprachwahl entschuldigen müssen. PHP ist eine großartige Sprache für Konsolenanwendungen.

Probieren Sie es aus:

<?php
for( $i=0;$i<10;$i++){
  print "$i \r";
  sleep(1);
}
?>

Das "\r" überschreibt die Zeile mit dem neuen Text. Um eine neue Zeile zu erstellen, können Sie einfach "\n" verwenden, aber ich schätze, das wussten Sie bereits.

Hoffe das hilft! Ich weiß, dass dies unter Linux funktioniert, aber ich weiß nicht, ob es unter Windows oder anderen Betriebssystemen funktioniert.


Um ein zuvor gedrucktes Zeichen zu löschen, haben Sie drei Möglichkeiten:

  • echo chr(8) . " "; gibt das Rückwärtszeichen wieder und bewegt den Cursor um eine Stelle zurück, und das Leerzeichen überschreibt dann das Zeichen. Sie können chr(8) verwenden mehrmals hintereinander, um mehrere Zeichen zurückzugehen.

  • echo "\r"; bringt den Cursor an den Anfang der aktuellen Zeile zurück. Sie können die Zeile jetzt durch neuen Text ersetzen.

  • Die dritte Option besteht darin, die Zeile und Spalte der Cursorposition mit ANSI-Escape-Codes festzulegen und dann die Ersatzzeichen zu drucken. Es funktioniert möglicherweise nicht mit allen Terminals:

  function movecursor($line, $column){
      echo "\033[{$line};{$column}H";
  }

\r hat es geschafft.

Zur späteren Bezugnahme funktioniert \b nicht in PHP unter Linux. Ich war neugierig - also habe ich auch ein paar Experimente in anderen Sprachen gemacht (ich habe das unter Linux gemacht - ich weiß nicht, ob das Ergebnis unter Windows/Mac dasselbe sein wird)..

\b Funktioniert in...

  • Perl
  • Rubin
  • Tcl - mit Code puts -nonewline "Hello\b"

\b Funktioniert nicht in

  • PHP - der Code print "Hello\b"; gibt Hello\b aus
  • Python - Code print "Hello\b" gibt Hello<new line> aus . Gleiches Ergebnis mit print "Hello\b",

Linux
  1. So löschen Sie den BASH-Befehlszeilenverlauf in Linux

  2. So installieren Sie die Spotify-Anwendung unter Linux

  3. So starten Sie Linux über die Befehlszeile neu

  4. Löschen Sie die aktuelle gedruckte Konsolenzeile

  5. wie man eine neue Zeile einfügt, wenn eine Zeile mehr als 60 Zeichen hat

So booten Sie in die Linux-Befehlszeile

So aktivieren Sie die Option „Bearbeiten“ in der Shutter-Anwendung unter Linux

So sperren Sie virtuelle Konsolensitzungen unter Linux

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So finden Sie die längste(n) Zeile(n) in einer Datei in Linux

So finden Sie die IP-Adresse in der Linux-Befehlszeile