Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
echo ?!?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arno
Gast





BeitragVerfasst am: 17. März 2004 18:15   Titel: echo ?!?

Hallo!

Ganz blöde Frage: Wie gebe ich ein Backspace aus? Ein "echo \b" gibt mir ein b aus. Auch ein "echo -e \b" macht das selbe. Wo ist der Fehler, dass er die Sonderzeichen nicht interpretiert?

Ich benutze die bash unter SuSE 8.2.
 

Jochen
Gast





BeitragVerfasst am: 17. März 2004 18:53   Titel: Re: echo ?!?

Die Shell sieht das "\" als Entwertungszeichen an, entwertet das nachfolgende Zeichen (das b - also eigentlich keinerlei Funktion) und ruft erst dann echo mit "b" als Parameter auf. Die "Backslasherzeugung" macht aber das echo-Kommando. Daher muss das "\" bei echo ankommen und darf nicht entfernt werden.

Ruf echo auf wie folgt:
echo -e \\b
oder
echo -e "\b"
oder
echo -e '\b'
So haut es hin. Zu den unterschiedlichen Schreibweisen schlägst Du am besten mal in die Man-Page der bash beim Thema "Quoting" nach.

Jochen
 

arno
Gast





BeitragVerfasst am: 18. März 2004 15:47   Titel: Re: echo ?!?

So dachte ich auch, dass es funktionieren sollte. Tut es aber leider nicht.
Ich bin wirklich ratlos.

Arno
 

Jochen
Gast





BeitragVerfasst am: 18. März 2004 18:46   Titel: Re: echo ?!?

?!? Tut es aber doch... bash 2.05a.irgendwas.

Probier mal folgendes:
code:
echo -en "12345\b\b\b" ; read A
Wenn Du das so in die Shell tippst und abschickst, sollte der Cursor auf der 3 stehen (und auf Dein Return warten). Das heisst aber nicht, dass "345" durch das Backspace gelöscht werden! Wenn Du so was möchtest, ist es einfacher, immer eine ganze Zeile zu überschreiben:
echo -en "123\r" ; sleep 1 ; echo "ABC"
Hier überschreibt das ABC das 123, da das CR (\r, Carriage Return) den Cursor wieder an den Anfag der Zeile setzt.

Jochen
 

arno
Gast





BeitragVerfasst am: 19. März 2004 14:06   Titel: Re: echo ?!?

Hallo!

OBERAUA!!!!! Da bin ich aber einem Irrtum aufgesessen. Ich bin davon ausgegangen, dass der echo-Prozess einfach den Tastaturcode der BS-Taste an die Shell übergibt und somit das letzte Zeichen auch gelöscht wird. Das war wohl ein Irrtum.

Auf jeden Fall vielen Dank für Deine Hilfe!

Arno.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy