sh: uvozovky v promenne
Miroslav Prýmek
m.prymek at gmail.com
Thu Aug 8 13:08:43 CEST 2013
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 ;)
Dik za pomoc
Mirek
P.S. samozrejme to potrebuju vyresit ve FreeBSD /bin/sh, maximalne pomoci
/bin/csh. Bash apod. neni reseni.
More information about the Users-l
mailing list