Text überschreiben?

F

Fr34k_

Jungspund
Hey, gibt es irgendeine möglichkeit, ein Text zu überschreiben?

Zbs so:
Fortschritt: 20%
Und dann soll aus 20% halt 30% werden, ohne dass es 2 mal dort steht ;)

Auch möglich wäre, den vorherigen Text zu löschen...

Geht das?

Liebe Grüsse
Fr34k
 
Was Variablen? -.-
i="test"

echo $i
echo $i

das würde ja 2 * test rausschreiben... -.-
 
du kannst sagen:
$i = "test"
dann sagst du meinetwegen
echo $i
$i = "hmm"
echo $i

...
somit erhälst du einmal test und dann hmm;
das Ganze packst du in einer Schleife und kannst dir dann dynamisch den Inhalt der Varialen ändern
 
öhm, es soll so gehen:

Fortschritt: 5%
Fortschritt: 10%
Fortschritt: 15%
usw

Nur soll das nicht untereinander stehen, sondern auf der gleichen linie.
Daher es soll
Fortschritt 5% stehen.
Und sobald er bei 10% ist, löscht er oben die 5% und setzt dies auf 10%

Lg
 
schieb doch einfach mal nen clear in das script rein etwa so

Code:
i=0
until [ $i -gt  100 ]
     do
          echo "$i %"
          clear
          i=$(( $i+5 ))
     done


ansonsten wenn du es richtig grafisch willst, schau dir mal dialog an.
 
Clear säubert ja den ganzen Bildschirm, was ich wiederum nicht möchte..
Es sollte höchstens die letzte Zeile ersetzt werden...

Lg
 
Da wirst du um eine Curses-basierte Lösung wie Dialog kaum herumkommen.
 
Wenn es dein Terminal unterstützt kannst du auch über esc-Sequenzen arbeiten.
\r ... zurück an den zeilen-Anfang
\033[K ... lösche bis zum Zeilen ende

Code:
#!/bin/bash

echo "Testprogramm:"

i=0
esc_seq="\r \033[K"
until [ $i -gt  100 ]
     do
          echo -en "$esc_seq $i %"
	  sleep 0.2
          i=$(( $i+5 ))
     done
 
Thx, werde ich morgen probieren... :)
Muss noch was hier fragen, dann muss ich nach hause ;)

Lg
 

Ähnliche Themen

Linux System Admin (w/m/g)/innovatives SW-Unternehmen/Vollzeit/ HomeOffice/asap

Pi zu einem Netshare service einrichten (SMB + Web)

Keine grafische Oberfläche (Debian Installation)

Dateiinhalte vergleichen - Neue Sätze dann ausgeben

Home Verzeichnis ändern

Zurück
Oben