sh: uvozovky v promenne

Jan Pechanec jp at devnull.cz
Thu Aug 8 18:11:48 CEST 2013


On Thu, 8 Aug 2013, Miroslav Prýmek wrote:

>>         ahoj, nevim, co myslis tim "rozbit shellovy skript".
>
>
>Priorita cislo jedna je, aby clovek do toho skriptu nemohl injectovat kod
>tim zminenym stylem
># skript 'fake_parametr";nejaky_zly_kod; echo " '

	takhle to nefunguje, podivej se do manu k sh(1), tam je popsano, jak 
probiha zpracovani skriptu.  Viz jednoduchy priklad:

$ var="echo x; echo y"
$ $var
x; echo y

	tj. nevypise ti to "x<new-line>y". echo proste dostane 3 parametry, 
``x;'', ``echo'', a ``y''

	to bys musel pouzit eval, aby se ten kod zpracoval:

$ eval "$var"
x
y

	promenne do uvozovek davas ve skriptu hlavne proto, aby se ti z 
hodnoty promenne nestalo vice parametru dalsiho prikazu, pokud v hodnote 
promenne jsou mezery.

	h.

-- 
Jan Pechanec <jp (at) devnull (dot) cz>
http://www.devnull.cz


More information about the Users-l mailing list