On Tue, Oct 18, 2016 at 05:24:44PM +0200, Attila Rajmund Nohl wrote:
> Hello!
> 
> ksh-ban van érdemi különbség az
> eval $@
> és a
> eval "$@"
> között? Ugye a " a $@ körül arra jó, hogy ha a parancssorban
> a b "c d"
> van, akkor három paraméterként adja tovább az eval-nak, nem négyként.
> Ami aztán nem számt, mert az eval úgyis összefűzi az összes
> paraméterét, ugye?

Nekem bash van, ott nagyon extrém esetben lehet különbség a kettőben,
pl. ha az átadott egyik paraméter szóközöket (és fontos, hogy mennyit)
tartalmaz:

ptg@bufe:~$ cat a
a
ptg@bufe:~$ cat b
b
ptg@bufe:~$ cat "a b"
a b
ptg@bufe:~$ cat "a   b"
ciki
ptg@bufe:~$ cat s.sh 
#!/bin/bash
eval "$@"
eval $@
ptg@bufe:~$ ./s.sh cat '"a   b"'
ciki
a b
ptg@bufe:~$ 

Normális esetben persze igazad van. :)

-- 
PTG
Q:      What happens when four WASPs find themselves in the same room?
A:      A dinner party.
_________________________________________________
linux lista      -      linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux
  • ksh eval $@ Attila Rajmund Nohl
    • Re: ksh eval $@ Pirity Tamas Gabor

válasz