[linux-l] Bash-Frage

Steffen Dettmer steffen at dett.de
Di Okt 15 10:50:33 CEST 2002


* Lutz Meinert wrote on Tue, Oct 15, 2002 at 01:46 +0200:
> Am Mon, 2002-10-14 um 11.09 schrieb Steffen Dettmer:
> Textmeldungen anwenden lässt, egal ob und wie viele Variablen sich darin
> tummeln.

Man, jetzt hast Du so schöne Beispiele, und jetzt kommst Du auch
noch mit mehreren Variablen! :)

> Das ist mein Text-file nonRoot:

Warum nun bloß nicht alles in ein File und dann:

nonRootMsg= "
Sorry, Sie sind nicht als "root", sondern als "LOGNAME" angemeldet.

Bitte starten Sie das Programm noch einmal als "root".
"

usw. ?

> Das ist der Aufruf im Script, wobei das Textfile in eine Variable
> eingelesen wird. Der entsprechenden Funktion GF_MsgBoxVar wird der zu
> ersetzende Name als Argument übergeben:

Warum macht die GF_MsgBox das Ersetzen?

> Das klappt,allerdings nur, weil der zu ersetzende Ausdruck bereits drin
> steht. Erst richtig brauchbar wäre es, wenn ich der Funktion sagen
> könnte: "Ersetze Argument durch Argument mit einem $-Zeichen davor und
> werte aus."

Ja, wie eval (btw., bei eval kein: 
"Bitte benutzen Sie das System vorsichtig!
 Geben Sie keinesfalls sowas wie `rm -rf /xyz` ein!"

Und dann laß mal dsa xyz noch fehlen :)

> Ich habe folgendes probiert:
> "${lvGetTxt//$1/\$$1}"

Was macht das? Oder, was soll es machen?
 
> klappt nicht, weil $LOGNAME in diesem FAll nicht ausgewertet wird. 

wenn Du $1 auf '$LOGNAME' setzt, oder wie? Versteh ich nicht.
Wolltest Du sowas wie:

for word in ${lvGetTxt} ; do 
	lvGetTxt=${lvGetTxt//$word/xxx} ;
done ; 
echo ${lvGetTxt}

hilft aber auch nicht wirklich - denn was schreibt man bei xxx...

> Auch bei der Frage, wie bei mehreren Argumenten (wenn der Text mehrere
> Variablen enthält, bsw.: "Die Partition $Partition wurde erfolgreich mit
> $FS formatiert.") zu verfahren, tappe ich im Dunklen.

ja... Schade.

> Mit einem naiven "${lvGetTxt//$@/neu$@}" zur Probe bin ich gescheitert.

Was soll das machen?

> Gibt es dafür eine Lösung oder bleibt mir dann doch nur die
> schnarchige eval-Variante übrig, die wenigstens alle Variablen
> bedient?

eval und printf, ja. Ich weiss nicht, aber eval auf beliebige
Textdateien waere mir nix.

Wieso zum Geier ist meine Tastatus ploetzlich english?? Mist
Windows.

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.




Mehr Informationen über die Mailingliste linux-l