我正在尝试在ksh文件中准备JSON。我正面临着这个问题 - 我认为这是因为我无法正确使用牙箍。例如:
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 :(得分:1)
当您回显或打印其值可能包含大括号的变量时,请将变量名称双引号为" $ {VARIABLE}"避免支撑扩张。您也可以使用单引号来避免必须转义每个双引号。试试:
AppendParams()
{
RESULT=${RESULT}'{"site:"'${COUNTRY}'","lang":'${LANGUAGE}'"}'
}
AppendParams
RESULT=$RESULT"]"
echo "$RESULT"