String 无法使用BASH中的CURL将请求发布到服务器

String 无法使用BASH中的CURL将请求发布到服务器,string,bash,curl,post,get,String,Bash,Curl,Post,Get,我一直在尝试运行一个BASH脚本,它向SMS服务器发送一个请求,在成功执行后,就会在提到的手机号码上收到一条消息。脚本如下所示: curl -k -X POST "http://192.168.10.3/u=admin&h=452ba065ebd1723598a51c7eca11d362&op=pv&to=1234567891&msg=Hello+to+all" 上面的脚本运行良好。手机号码1234567891收到“大家好”的信息。然而,这个数字在URL中是硬编

我一直在尝试运行一个BASH脚本,它向SMS服务器发送一个请求,在成功执行后,就会在提到的手机号码上收到一条消息。脚本如下所示:

curl -k -X POST "http://192.168.10.3/u=admin&h=452ba065ebd1723598a51c7eca11d362&op=pv&to=1234567891&msg=Hello+to+all"
上面的脚本运行良好。手机号码1234567891收到“大家好”的信息。然而,这个数字在URL中是硬编码的。在实际场景中,移动电话号码将在一个变量中可用,SMS将发送到此变量中可用的移动电话号码

我尝试过以下脚本:

mobile_number="1234567891"
curl -k -X POST "http://192.168.10.3/u=admin&h=452ba065ebd1723598a51c7eca11d362&op=pv&to=$mobile_number&msg=Message+From+world"


但是,我没有成功地执行它们。如果有人能在语法方面帮助我,那将是非常有帮助的

< P>尝试这个原则,BASH是不同于C++的语言:-):< /P>

比:代码> CURL -K-X POST URL应该工作良好。

尝试这个原则,BASH是不同的语言,而不是C++ +:-(我把它的答案澄清,不好的评论)…谢谢你的回复。但是在使用上述方法时,我得到了以下错误:curl:(3)在urlAdd-v to curl参数中发现非法字符。解决问题会更加冗长。我在我的debian上测试了它,它似乎工作得很好。
x="http://192.168.10.3/u=admin&h=452ba065ebd1723598a51c7eca11d362&op=pv&to="
x+="1234567891
x+=&msg=Hello+to+all"
curl -k -X POST $x
#!/bin/bash
to="1234567891"
msg="Hello+to+all"
u="admin"
hash="452ba065ebd1723598a51c7eca11d362"
op="pv"
ip="192.168.10.3"
url="http://${ip}/u=admin&h=${hash}&op=${op}&to=${to}&msg=${msg}"

echo ${url}