[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