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
\<!--no-->$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 \<!--no-->\ schreibe würde er auch ein nachfolgendes n ignorieren allerdings, schreibt er dann $1 statt den Inhalt der Variablen.
zumindietastaturbeissen
ich kapier echo nicht!!!
Re: ich kapier echo nicht!!!
> Das blöde dabei in einer Zeile muss ein Back-Slash am Anfang auftauchen
Zeilenumbruch mit \<!--no-->n danach den Backslash quoten \<!--no-->\
> und dahinter die übergebene Variable ($1).
also so was:
echo -e "blablaba \<!--no-->n\<!--no-->\$1" > .forward
verpackt in ein script und aufgerufen mit
<scriptname> Hallo
ergibt das dann folgenden Output:
blablabla
\<!--no-->Hallo
Zeilenumbruch mit \<!--no-->n danach den Backslash quoten \<!--no-->\
> und dahinter die übergebene Variable ($1).
also so was:
echo -e "blablaba \<!--no-->n\<!--no-->\$1" > .forward
verpackt in ein script und aufgerufen mit
<scriptname> Hallo
ergibt das dann folgenden Output:
blablabla
\<!--no-->Hallo
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?
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?
Re: ich kapier echo nicht!!!
argh!!
die Forensoft interpretier ebenfalls backslash n als newline.
Sorry
Nochmal: bei dem Aufruf <scriptname> nein
sollte rauskommen:
blabla
\<!--no-->nein
es kommt aber raus:
blabla
ein
die Forensoft interpretier ebenfalls backslash n als newline.
Sorry
Nochmal: bei dem Aufruf <scriptname> nein
sollte rauskommen:
blabla
\<!--no-->nein
es kommt aber raus:
blabla
ein
Re: ich kapier echo nicht!!!
Lass doch einfach das "-e" als Argument zu echo weg! Damit <i>aktivierst</i> Du ja gerade die Interpretation von
. Die Variablensubstionübernimmt die Shell, deswegen musst Du "-e" für echo nicht setzen.
Jochen
. Die Variablensubstionübernimmt die Shell, deswegen musst Du "-e" für echo nicht setzen.
Jochen
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
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
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
> 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
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
\<!--no-->$1" macht die Shell aus den zwei Backslashes <i>einen</i>, 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 <i>den</i> dann wörtlich, ohne ein folgendes "n" dann zu Backslash-n zu machen.
OK?
Nein, kein Bug, alles in Ordnung! Folgendermassen: In "" geht die Shell selbst ja erst mal an die Backslashes dran! In Deiner Sequenz "blablaba
\<!--no-->$1" macht die Shell aus den zwei Backslashes <i>einen</i>, 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 <i>den</i> dann wörtlich, ohne ein folgendes "n" dann zu Backslash-n zu machen.
OK?
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
aber echo
Finde ich aber sehr unbefriedigend, weil es nicht so funktioniert wie es sollte.
Thanx Leute
Max
Re: ich kapier echo nicht!!!
Supi!
Jetzt kapier ich!
sieht zwar völlig krank aus aber ist jetzt korrekt.
Danke Jochen.
Jetzt kapier ich!
sieht zwar völlig krank aus aber ist jetzt korrekt.
Danke Jochen.