linux-l: shell-/bash-Frage

Jens Dreger jens.dreger at physik.fu-berlin.de
Fr Okt 6 04:34:35 CEST 2000


On Fri, Oct 06, 2000 at 02:39:12AM +0200, Sven Guckes wrote:
> * Dr.Bernd Freistedt <bf at bcf.in-berlin.de> [001005 21:56]:
> > Gibt es eine Moeglichkeit der absoluten Cursorpositionierung
> > (auch Spruenge zurueck) in der bash oder irgendein Workaround?
> 
> CTRL-A + N x CTRL-F ?

Aber da faellt mir doch spontan ein Einzeiler zu ein:

  clear; while true; do echo -ne "\033[$[$RANDOM*$LINES/32000];$[$RANDOM*$COLUMNS/32000]H*"; done

Ich nenne ihn mal "Snow". Eventuell ein "eval `resize`" vorweg, denn
$LINES und $COLUMNS sollten schon die richtigen Werte haben.

> > Ganz einfache Frage, oder? :-)
> 
> Was willst Du denn erreichen?

Unportabilitaet ?
 
> > Wenn das ginge, brauchte man das GUI-Zeug nicht, um
> > Masken fuer z.B. simples data entry zu erstellen...

Das ist nur leider nicht Sache der bash, sondern des Terminals. Und da
kann einem so einiges auf den Tisch flattern, weshalb es ja die
termcap gibt. Du suchst (man termcap):

	cm   Cursor move to row %1 and column %2 (on screen)

Und bei einem xterm sagt die /etc/termcap
	[...]
        :al=\E[L:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\
					      ==============

Und das habe ich oben verwendet. Funktioniert auch auf der Console.

Gruss,

Jens.



Mehr Informationen über die Mailingliste linux-l