sh: uvozovky v promenne

Jan Friedel jf at devnull.cz
Thu Aug 8 13:16:21 CEST 2013


On Thu, Aug 08, 2013 at 01:08:43PM +0200, Miroslav Prmek wrote:
> Ahoj,
> 
> trapim se s nasledujicim problemem a porad mne nejak nenapada, jak ho
> korektne vyresit. Potreboval bych aspon nakopnout, jakym smerem se vydat.
> 
> Mam skript, ktery pouziva parametr z prikazove radky a ma ho vlozit do
> jsonu pro curl, nejak zhruba takhle (orezano na kost):
> 
> -----
> #!/bin/sh
> 
> x=$1
> 
> /usr/local/bin/curl -sS -i \
>    -H 'Content-Type: application/json' \
>    -d '{"neco":"'$x'"}'
> -----
> P.S. pokud vim, json vyzaduje dvojite uvozovky
> 
> Resim problem, jak promennou spravne escapovat, aby uzivatel do parametru
> nemohl vlozit uvozovky a tim skript rozbit. Kdyz pouziju ${x/a/b}, tak na
> me shell zarve, ze "Bad substitution". Nejak se mi nepodarilo najit, jak by
> spravna substituce mela vypadat :(
> 
> Zkousel jsem na to jit ruznymi zpusoby, sedem, tr, ale uplne korektni a
> nicim nerozbitelne reseni ne a ne najit. Dost me to vytaci, ze takovou
> celkem zakladni vec nejsem schopnej rozlousknout. Zatim to svadim na vedro,
> ale je to moc pruhledny sebeobelhavani ;)

	eval(1)?

	/h.


More information about the Users-l mailing list