2013-08-22 63 views

回答

1

我要拋開,我不明白爲什麼你在做它這樣,但嘗試以下操作:

bash-3.2$ a="{\"name\":\"any\"}" 
bash-3.2$ echo $a 
{"name":"any"} 
bash-3.2$ eval "export -- b='$a'" 
bash-3.2$ echo $b 
{"name":"any"} 
bash-3.2$ 
2

這個工作對我來說:

$ a='{"name":"any"}' 
$ echo $a 
{"name":"any"} 
$ export b="$a" 
$ echo $b 
{"name":"any"} 

要使用eval導出變量注爲什麼,變量名被插過,所以你可以做什麼?這樣的:

$ foo=bar 
$ export $foo=baz 
$ echo $bar 
baz 
+0

餘米致力於開源和我以這種方式發現它。他正在使用 - 在出口指令中,我不知道他爲什麼這麼做。 – MOHAMED

+0

@MOHAMED:爲了清楚起見,他可能使用「export - 」(它的確顯示出口比不在其中)並且指出出口沒有使用任何參數(-f,-p等)? –

+0

+1在沒有必要時不使用'eval'(在這種情況下,根本沒有任何理由使用它)。 –