Das Terminal akzeptiert und führt eine Reihe verschiedener Zeichenfolgen als Steuerbefehle aus. Zum Beispiel werden alle Cursorbewegungen mit diesen ausgeführt. Einige der Codes führen permanente Änderungen durch, z. B. das Festlegen von Farben oder die Aufforderung an das Terminal, einen alternativen Zeichensatz zu verwenden. Ausführbare Dateien und andere Binärdateien können durchaus Bytes enthalten, die diese Befehle darstellen, sodass das Ablegen von Binärdateien auf dem Terminal lästige Nebenwirkungen haben kann. Siehe zB hier für einige der Steuercodes.
Der historische Hintergrund hierfür ist, dass Terminals ursprünglich eher dumme Geräte mit einem Bildschirm und einer Tastatur waren und über eine serielle Schnittstelle mit dem eigentlichen Computer verbunden waren. Davor waren sie Drucker mit Tastaturen. Es gab nicht viel von einem Protokoll, um Datenbytes von Befehlsbytes zu trennen, so dass Befehle an das Terminal "inline" gegeben wurden. (Oder besser gesagt, die Escape-Codes und Steuerzeichen waren das Protokoll.) Man könnte davon ausgehen, dass es eine klarere Trennung zwischen Daten und Befehlen geben würde, wenn das System heute entwickelt worden wäre.
Anstatt nur das Terminalfenster zu schließen oder den Emulator zu beenden , können Sie den reset
Befehl verwenden , der einen ähnlichen Befehl (oder mehrere) sendet, um das Terminal auf die normalen Standardeinstellungen zurückzusetzen.
Ich weiß nicht, was genau dazu führen würde, dass sich der Hash ändert. (Aber @ Random832 tut, sehen ihre Antwort .) Ich bin mehr vertraut mit dem „alternativen Zeichensatz“, die alle Zeichen in Strichzeichnungs Glyphen ändern können. Selbst wenn dies passiert, werden Eingaben über die Tastatur normalerweise unverändert ausgeführt, sodass das Schreiben reset
Enterauch dann noch funktioniert, wenn die Zeichen als Müll angezeigt werden oder gar nicht. (Im Vergleich dazu, dass Ihre Eingabeaufforderung in ein Bündel von Zeilen umgewandelt wurde, haben Sie nur einen geringen Effekt.)