echo||printf ohne Zeilenvorschub immer in selber Zeile?

  • Hallo

    Ist es irgend wie möglich, text auszugeben immer in selber Zeile?

    Bsp_ ausgabe auf konsole:

    ###############
    #LESE TEXT:
    #1%
    ###############

    Wäre:

    ~ echo "LESE TEXT:"
    ~ echo "1%"

    Jetzt müßte man um den Text zu ändern, das ganze erneut abrufen:

    ~ clear
    ~ echo "LESE TEXT:"
    ~ echo "2%"

    Giebt es da einen Trick, NUR die (2%) zu ändern? Ohne den ganzen Text rüber bügeln zu müssen?

    Villeicht ist es ja auch Simpel, nur komme irgend wie nicht drauf.

    MFG Ronny

  • Hi

    Dank Dir, verstehe das nicht so ganz, denn:

    echo "TEXT:"
    echo -e "%1\\r"
    echo -e "%2\\r"
    echo -e "%3\\r"
    echo -e "%4\\r"
    echo -e "%5\\r"
    echo -e "%6\\r"
    echo -e "%7\\r"

    =

    TEXT:
    %1
    %2
    %3
    %4
    %5
    %6
    %7

    Es sollte aber so kommen:
    TEXT:
    %7 (somit nur in dieser Zeile (1-7)

    MFG Ronny

  • Hi,
    probiere es doch mal mit "$1" (%1 gehört IMHO in bat-Dateien)

    TEST="HALLO";echo -e "$TEST 1\\r$TEST 2\\r"
    HALLO 2

    Cu,
    Andreas

  • Nun klappts ja, wenn wir einmal beim Thema sind, besteht auch die Möglichkeit einen TEXT zu "halten":

    1 [ TEXT ] (erste Zeile in Konsole soll erhalten bleiben)
    2 ...
    3 ...
    4 ...
    5 ...
    6 ...

    Gleichgültig welche Zeilen folgen?

    Achso, die folgezeilen (haben einen Vorschub)! Somit nicht wie oben.

    MFG Ronny

    Edited once, last by anonymous (March 14, 2004 at 11:48 AM).

  • oh das sieht langsam nach curses aus was du brauchst, ansonsten ginge es die größe des terminals aus lesen, ein array dieser größe machen und das dann immer neu aufbauen....


    gruß onno

    --
    viel spass am geraet
    ---
    AMD1100/512 # 200GB-VDR # 220GB-DIVX #
    1.3 Siemens # 2.1 Haupauge(primary) # RH 7.3

    Edited once, last by memed (March 14, 2004 at 12:05 PM).

  • hi,
    ich glaube nicht das dies ohne redraw in einer term zu lösen ist. schließlich gibt es IMHO ja kein (steuer)zeichen um eine zeile nach oben zu wandern.

    denkbar wäre in etwa sowas:

    Code
    while [ 1 ]; do
      echo "fester text";
      echo $1;
      echo $2;
    done;


    das ist aber letzer spaggeti-code der sich für eine ernsthafte anwendung nicht eignet.
    da muss ich mich dann meinem vorredner anschließen und auch auf curses & co verweisen.(auch eine implementierung in C wäre denkbar)

  • Hi

    "C" ist nicht meins, das selbe mit "curses".

    Habe jedenfalls oben solch einen "Installation Status", den würde ich wie gesagt gerne halten wollen.


    Bei Packages jenseits von (10 min), weiß man nimmer wo man "steht".

    ------------
    (auch eine implementierung in C wäre denkbar)
    ------------

    Könntest Du da helfen?

    Oder kennt nicht wer solch einen "Schnippsel"?

    Danke

    MFG Ronny

  • ja,
    prinzipiell könnte ich helfen,
    das wäre auch eine sehr gute übung für mich, schlielßlich will ich endlich mal richtig damit anfangen das zu lernen anstatt immer nur zumzuhacken.
    fakt ist das ich keine lust und uach keine zeit für sowas habe (klausurenzeit ;))

    ist denn sowas nicht mit dialog zu machen? [gabs da nicht eine tail-box]

  • hi,
    hab das gerade mal mit dialog getestet:

    Code
    dialog --tailbox file 18 50
    echo "test" > file [andere console]


    danach siehst du dann was in der box.
    dann muss man nur noch dafür sorgen das der compiler im hintergrund läuft und die ausgabe z.B. über tee noch in eine datei oder einen fifo schreibt.
    außerdem musst du den knopf zum verlassen deaktivieren und sobald der compiler beendet ist dialog manuell z.B. über "kill -HUP <pid>" beenden.

  • Hi

    Danke für die Mühe, aber ist einfach "zuviel" Aufwand für den Pfeffer.

    Andauernd "dialog" killen kanns auch nicht sein.

    MFG Ronny

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!