sh: uvozovky v promenne

Jan Pechanec jp at devnull.cz
Thu Aug 8 17:03:15 CEST 2013


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

>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

	ahoj, nevim, co myslis tim "rozbit shellovy skript".  Vlozenim 
uvozovek do parametru ten skript nerozbijes, protoze expanze promennych se 
provede az po zkontrolovani syntaxe a rozdeleni na slova/tokeny.

$ cat test.sh
#!/bin/sh
echo '"'$1'"'
$ ./test.sh '"'
"""
	jde spis o to, co se stane, kdyz na druhou stranu posles jako data 
"neco":"x"x".

	h.

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


More information about the Users-l mailing list