ubuntuusers.de

Befehl clear im Klartext

Status: Gelöst | Ubuntu-Version: Kubuntu 11.10 (Oneiric Ocelot)
Antworten |

newbie

Anmeldungsdatum:
23. März 2006

Beiträge: 965

Hi, kann mir jemand bitte erklären, wie oder warum sich der Befehl clear aus folgenden Zeichen \033[H\033[2J zusammensetzt? #Bildschirm löschen

1
echo -en '\033[H\033[2J'

Wie kommt man auf diese Kombination von Zeichen bzw. gibt es eine Liste dafür, wo man das nachschauen kann?

Danke!

fckawe

Avatar von fckawe

Anmeldungsdatum:
23. April 2011

Beiträge: 509

Wohnort: Freiburg im Breisgau

Das sind zwei hintereinander gefügte VT100-Terminal Sequenzen. \033 ist jeweils das Escape-Zeichen. U.a. Hier findest du weitere...

Gruß, Gerald

_EDIT_: <ESC>[H ist, wie du auf der verlinkten Seite sehen kannst, die Kurzform von <ESC>[row;columnH und positioniert den Cursor. <ESC>2J leert den Bildschirm und setzt den Cursor auf die Home-Position. Demnach sollte letzteres also als clear ausreichen.

newbie

(Themenstarter)

Anmeldungsdatum:
23. März 2006

Beiträge: 965

Vielen Dank, besonders für den Link! Frage beantwortet.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17604

Wohnort: Berlin

1
2
wasmacht.sh clear
/usr/bin/clear: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

Es gibt einen Befehl clear, welcher bei mir ein kompiliertes Binary ist, nicht die von Dir gezeigte Ansisequenz.

Aber die Ansisequenz löscht in der Tat den Schirm, und kann teilweise bei Bash/Prompt nachgelesen werden. Ansi-Escape-Sequenz oder Ansicode http://en.wikipedia.org/wiki/ANSI_escape_code sind geeignete Suchworte für weitere Quellen. http://www.termsys.demon.co.uk/vtansi.htm

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2133

Wohnort: Gelsenkirchen

Es gibt eine Auflistung diverser "Terminal-Befehle" in der Manpage von terminfo (etwas runter scrollen). Diese Befehle kannst du z.B. an tput leiten, damit es dir die entsprechende Steuersequenz zurückliefert, welche dann wiederum von deinem Terminal interpretiert und damit auch (hoffentlich) wie gewünscht umgesetzt wird. Beispiel:

1
echo "Hallo Du. Ja, genau $(tput bold)Du$(tput sgr0)."
Antworten |