2017-07-27 28 views
0

我正準備在ksh文件中準備JSON。我面臨這個問題 - 我認爲這是因爲我無法正確使用大括號。例如:ksh中的換算大括號

RESULT="["; 
COUNTRY=mCountry 
LANGUAGE=mLang 

AppendParams() 
{ 
    RESULT=$RESULT"{\"site:\"$COUNTRY\",\"lang\":\"$LANGUAGE\"}"; 
} 
AppendParams 

RESULT=$RESULT"]"; 

echo $RESULT; 

輸出是:

sh-4.3$ ksh main.ksh                                             
["site:"mCountry"] ["lang":"mLang"] 

而不是

[{"site:"mCountry","lang":"mLang"}] 

有沒有一種方法來禁用括號或逃避呢?請幫忙。

+0

RESULT =「[{\」site \「:\」$ {COUNTRY} \「,\」lang \「:\」$ {LANGUAGE} \「}]」, – twalberg

回答

1

當您回顯或打印其值可能包含大括號的變量時,請雙引號變量名稱,如「$ {VARIABLE}」以避免大括號擴展。你也可以使用單引號來避免每個雙引號的轉義。嘗試:

AppendParams() 
{ 
    RESULT=${RESULT}'{"site:"'${COUNTRY}'","lang":'${LANGUAGE}'"}' 
} 
AppendParams 

RESULT=$RESULT"]" 

echo "$RESULT" 
+0

最後一行中的變量的雙引號可以幫助我。謝謝! – Ilya