字符串中的Shell脚本参数

时间:2014-10-11 10:31:54

标签: linux string shell

我有一个shell脚本,我将一些参数传递给。在这个脚本中,我构建了一个简单的json字符串。

这是shell脚本A:

firstname=${1}
lastname={$2}
email={$3}

json='{"firstname":"'"$firstname"'","lastname":"'"$lastname"'","email":"'"$email"'"}'

# do web request here

这可以通过shell脚本B调用,如下所示:

firstname="aa"
lastname="bb"
email="cc@cc.cc"
./scriptB.sh ${firstname} ${lastname} ${email}

将此json发布到服务器后,json中的所有值都以大括号括起来:{aa},{bb},{cc@cc.cc}。在这种情况下,服务器不能成为问题。

我认为这与不正确的转义或错误使用字符串引号有关?

1 个答案:

答案 0 :(得分:0)

在您的第一个脚本中{}不一致且不加引号。尝试:

firstname="${1}"
lastname="${2}"
email="${3}"