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

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
ich kapier echo nicht!!!

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





BeitragVerfasst am: 10. Jul 2001 14:38   Titel: ich kapier echo nicht!!!

eigentlich ganz einfach....
ein kleines skript
welche mittels echo diverses und übergebene Variablen in ein Text-File packt.
Das blöde dabei in einer Zeile muss ein Back-Slash am Anfang auftauchen und dahinter die übergebene Variable ($1).

in etwa so:
echo -e "blablaba
\$1" > .forward

Klappt auch wunderbar! Ausser wenn $1 mit n Anfängt, dann interpretiert er das als Newline. Warum??
Das erste \ sollte das zweite entwerten, warum tut er das trotzdem?
Wenn ich 3 \\ schreibe würde er auch ein nachfolgendes n ignorieren allerdings, schreibt er dann $1 statt den Inhalt der Variablen.
zumindietastaturbeissen
 

Descartes
Gast





BeitragVerfasst am: 10. Jul 2001 15:23   Titel: Re: ich kapier echo nicht!!!

> Das blöde dabei in einer Zeile muss ein Back-Slash am Anfang auftauchen
Zeilenumbruch mit \n danach den Backslash quoten \\

> und dahinter die übergebene Variable ($1).
also so was:

echo -e "blablaba \n\\$1" > .forward

verpackt in ein script und aufgerufen mit
<scriptname> Hallo
ergibt das dann folgenden Output:
blablabla
\Hallo
 

Max
Gast





BeitragVerfasst am: 10. Jul 2001 15:34   Titel: Re: ich kapier echo nicht!!!

mist meine \ fehlen im Ursprungsposting....
Kurz:
Genauso habe ich es gemacht, Descartes
Nur geht so nicht!
Denn wenn du jetzt <scriptname> nein machst
kommt statt wie erwartet
blabla

ein

folgendes raus
blabla

ein


Noch Ideen?
 

Max
Gast





BeitragVerfasst am: 10. Jul 2001 15:37   Titel: Re: ich kapier echo nicht!!!

argh!!
die Forensoft interpretier ebenfalls backslash n als newline.
Sorry

Nochmal: bei dem Aufruf <scriptname> nein
sollte rauskommen:
blabla
\nein

es kommt aber raus:
blabla

ein
 

Jochen
Gast





BeitragVerfasst am: 11. Jul 2001 6:35   Titel: Re: ich kapier echo nicht!!!

Lass doch einfach das "-e" als Argument zu echo weg! Damit aktivierst Du ja gerade die Interpretation von
. Die Variablensubstionübernimmt die Shell, deswegen musst Du "-e" für echo nicht setzen.

Jochen
 

max
Gast





BeitragVerfasst am: 11. Jul 2001 8:08   Titel: Re: ich kapier echo nicht!!!

und wie bekomme ich dann den Zeilenumbruch hin?
Es muss ja in 2 Zeilen stehen.

Aber jetzt will ich es wirklich wissen.
Ist das ein Bug in echo ??
Laut Doku muss man 2 Backslashes (mit Schalter -e) nehmen um eins darzustellen.
Funktioniert auch.Ein Backslash entwertet erstmal folgendes Zeichen damit es nicht wie eine normales Zeichen dargestellt wird.
Aber 2 Backslashes und ein $e, wenn $e ein interpretierbares Zeichen wie z.B. n enthält wird es wieder ausgeführt.

Das ist eigentlich nicht so gedacht.
Leider ist die man-Page ja sehr mager, und echo ist ein Standard-Befehl. So denke ich doch, das ich nicht der erste bin dem das auffällt.

Max
 

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 11. Jul 2001 10:01   Titel: Re: ich kapier echo nicht!!!

Hi!

> und wie bekomme ich dann den Zeilenumbruch hin?
> Es muss ja in 2 Zeilen stehen.

echo "hallo
welt"

funktioniert wunderbar. Außerdem ginge

echo -e "hallo
" "welt"

auch.

Cheers,
Wolfgang
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Jochen
Gast





BeitragVerfasst am: 11. Jul 2001 10:28   Titel: Re: ich kapier echo nicht!!!

Aahhh, jetzt ist mir ein Licht aufgegangen!

Nein, kein Bug, alles in Ordnung! Folgendermassen: In "" geht die Shell selbst ja erst mal an die Backslashes dran! In Deiner Sequenz "blablaba
\$1" macht die Shell aus den zwei Backslashes einen, und wenn $1 dann "n" enthält, wird ein Newline gemacht. Also verwende 4 Backslashes: Die Shell macht aus den ersten beiden einen, aus den zweiten beiden einen, und echo kriegt 2 Backslashes hintereinander zu sehen, macht einen draus und nimmt den dann wörtlich, ohne ein folgendes "n" dann zu Backslash-n zu machen.

OK?
 

Max
Gast





BeitragVerfasst am: 11. Jul 2001 10:53   Titel: Re: ich kapier echo nicht!!!

ich habe es mittlerweile mit 2 echo Befehlen gelößt.
aber echo
Finde ich aber sehr unbefriedigend, weil es nicht so funktioniert wie es sollte.

Thanx Leute
Max
 

Max
Gast





BeitragVerfasst am: 11. Jul 2001 11:38   Titel: Re: ich kapier echo nicht!!!

Supi!
Jetzt kapier ich!
sieht zwar völlig krank aus aber ist jetzt korrekt.

Danke Jochen.
 

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

 
Gehen Sie zu:  

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