Ole Michaelsen <omic+usenet1@fys.ku.dk> writes:
> Hej gruppe.
>
> Jeg sidder og kigger på et cgi-script, der gør følgende (i ksh):
>
> splitArgs()
> {
> for item in `echo $QUERY_STRING | tr "&" " "`;do
> export `echo $item`
> done
> }
>
> QUERY_STRING er det der kommer efter '.../cgi-bin/program.cgi?' (uden
> ''). Hvis jeg sætter QUERY_STRING til fx '"touch hej"' (uden ''), og
> kører '`echo $QUERY_STRING`' (uden ''), laver den fint nok filen 'hej'
> (uden ''). Men hvis jeg har det i løkken gør den det ikke:
>
> for item in (og her burde den så lave filen); do
> export `echo $item` <--- men item er ... øh, ingenting. Der kom
> intet ud af echo $QUERY_STRING, andet end en fil, intet på stdout
> done
>
> Nogen der kan hjælpe med at vise at det kan lade sig gøre at få den til
> at udføre kommandoen? Det ser _ud_ som om man, kan, men jeg kan
> ikke...
Øeh, det står mig ikke helt klart om dit problem er om du får lavet
hej eller ej, men
$ Q="touch hej"
$ echo `echo $Q`
touch hej
$ for item in `echo $Q` ; do echo $item ; done
touch
hej
$ for item in `\`echo $Q\`` ; do echo $item ; done
$ ls -l hej
-rw-r--r-- 1 pd users 0 May 18 13:03 hej
altså, hvis du vil have *udført* resultatet af en kommando så skal der
et sæt extra `` til, men touch skriver jo ingenting på stdout, så nu
gør løkken ingenting. Hvad var det egentlig du ville??
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907