sh: uvozovky v promenne

Miroslav Prýmek m.prymek at gmail.com
Thu Aug 8 21:27:53 CEST 2013


2013/8/8 Jan Pechanec <jp na devnull.cz>

> >    -d '{"neco":"'"$x"'"}' <adresa serveru>
>         pokud das do x neco s mezerou, treba ``a "b'' (tj. hodnota x
> obsahuje 4 znaky), budes mit pomoci toho, co jsi napsal, za -d dva
> parametry:
>
>         prvni:  {"neco":"a
>         druhy:  \"b"}
>
>         protoze specialni funkci vsech dvojitych uvozovek jsi potlacil
> dvemi
> sadami jednoduchych uvozovek.


Tak tomu teda vubec nerozumim. Mam tri quotations bezprostredne za sebou -
prvne v apostrofech, pak v uvozovkach (tam je ta promenna) a pak opet v
apostrofech. Mel jsem za to, ze kdyz jsou quotations takhle za sebou, tak
je shell spoji do jednoho celku. To teda taky neni pravda?

Kdyz dam
echo  apostrof a apostrof uvozovka b uvozovka
tak echo dostane jeden argument, ne?

# cat t.py
#!/usr/bin/env python

import sys
print sys.argv
# x=\"
# ./t.py 'a'"$x"'c'
['./t.py', 'a"c']
# x="a \" b"
# ./t.py 'a'"$x"'c'
['./t.py', 'aa " bc']



> Tobe ale v tomto pripade staci tohle:
>
>         -d "{\"neco\":\"$x\"}"
>
>
To sice jo, ale on ten json je delsi, tak jsem se chtel vyhnout hromade
lomitek snizujicich
citelnost na nulu...


>         fakt doporucuju si nekolikrat pozorne precist man k sh(1) a zkouset
> si ruzny veci, nebo v tom budes mit porad hokej a budes tyhle veci (blbe)
> resit metodou pokus/omyl.  Nastudovanim sh(1) si usetris spoustu casu do
> budoucna.  Muzes mi verit, mam to z vlastni zkusenosti :-)
>
>
Jo, to urcite jo. Ale pokud tam nekde je neco z toho,  na co jsem se ptal,
tak to tam stejne nevidim :)

M.


More information about the Users-l mailing list