Hallo, Am Thu, 02 Oct 2003, Al Bogner schrieb:
Am Donnerstag, 2. Oktober 2003 19:47 schrieb David Haller:
Am Thu, 02 Oct 2003, Jens Tautenhahn schrieb:
Die einzige Möglichkeit ist IMHO wie schon geschrieben: datei=${!datei}
Awatt. eval dat="\${datei${i}}"
Eine hypothetische Frage: Wie denkt ihr, dass es mit der Performance von eval aussieht?
'eval' ist ein shell-builtin... Die bash wertet die Zeile einfach zweimal aus und expandiert Variablen etc...
Vergleiche dazu:
From: Juergen Ilse (juergen@ilse.asys-h.de) Subject: Re: dynamische Variablen Newsgroups: de.comp.os.unix.shell Date: 2001-08-09 08:00:34 PST
Bitte bei sowas die Msg-Id angeben, die kann man direkt an google verfuettern (bei Google steht die Msg-Id zwischen selm=... und dem naechsten '&' in der URL. Meintest du diese: http://groups.google.com/groups?\ selm=3b72854a%240%247116%24a5ec1103%40news.ilse.asys-h.de $ ( i=0; time while test $i -lt 10000; do i=$[i+1]; d="`eval echo \"\$datei${i}\"`"; done; ) real 0m21.700s user 0m9.010s sys 0m12.670s $ ( i=0; time while test $i -lt 10000; do i=$[i+1]; eval "d=\"\$datei${i}\""; done; ) real 0m2.669s user 0m2.590s sys 0m0.060s $ ( i=0; time while test $i -lt 10000; do i=$[i+1]; d="datei${i}"; d="${!d}"; done; ) real 0m1.975s user 0m1.930s sys 0m0.020s $ ( i=0; time while test $i -lt 10000; do i=$[i+1]; done; ) real 0m1.029s user 0m1.010s sys 0m0.020s HTH, -dnh -- 13. Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.'' --- Antoine de Saint-Exupéry as cited in Eric S. Raymond, "The Cathedral and the Bazaar"