诡异的 curl返回值

写了一个游戏内聊天服务监控的shell程序,在用curl 取得返回值时,遇到了问题

 onlineNum=`curl "http://192.168.69.12:5080/taoofms/index.jsp"`

 index.jsp里输出的为一个数字,但用这个数字判断是否大于0时(if [ $onlineNum -gt 0 ]),却如何都得不到正确结果,因此得出curl返回的,不仅仅是输出的一个数字,应该还有其他字符。。。

 

最后不得不采用字符分割,将返回的值,取出第一数字来判断,例如 12 取得1;24取得 2 。。。。

realNum=`echo ${onlineNum:0:1}`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下命令获取curl返回值: ``` curl -s -o /dev/null -w "%{http_code}" http://example.com ``` 其中,`-s`表示静默模式,不输出任何信息;`-o /dev/null`表示将curl的输出重定向到/dev/null,即不输出到终端;`-w "%{http_code}"`表示输出HTTP状态码。 如果需要在shell脚本中获取curl返回值,可以使用以下语句: ``` status=$(curl -s -o /dev/null -w "%{http_code}" http://example.com) echo $status ``` 其中,`$()`表示执行命令并将结果赋值给变量`status`,然后使用`echo`命令输出变量值。 ### 回答2: curl是一个非常常用的网络工具,可以用来访问、下载文件和网络资源等。在使用curl时,我们有时候需要获取返回值来判断请求是否成功或者出错。而我们可以通过shell脚本来获取curl返回值。 获取curl返回值可以通过curl命令的返回码来实现。curl命令成功的返回码是0,而其他的返回码则表示出现了错误。我们可以通过$?来获取上一个命令的返回值,也就是curl命令的返回值。 以下是一个示例脚本,使我们可以更好的理解如何获取curl返回值: #!/bin/bash result=$(curl -I -m 5 -o /dev/null -s -w %{http_code} http://example.com) if [ $result -eq 200 ]; then echo "访问成功" else echo "访问失败" fi 在这个脚本中,我们使用了curl的-I参数来获取HTTP头部信息,同时使用-m参数设置了最大请求时间为5秒钟。为了防止curl命令输出信息,我们使用了-o参数将结果输出到/dev/null中。最后,我们使用了-w参数来指定输出格式,即仅输出HTTP状态码。输出信息存储在$result变量中。 接下来,我们使用if语句来判断结果,如果返回值为200,则输出“访问成功”,否则输出“访问失败”。 总之,shell脚本可以很方便地获取curl返回值,并且可以根据返回值来执行相应的操作。这样可以大大提高我们在使用curl命令时的效率。 ### 回答3: 在shell脚本中获取curl返回值可以使用$?变量。当curl执行成功时,$?变量的值为0,否则为1。我们可以在curl命令执行之后使用echo $?来输出返回值。 例如,我们可以使用以下代码来获取curl返回值: #!/bin/bash curl -I http://www.example.com/ if [ $? -eq 0 ]; then echo "curl执行成功" else echo "curl执行失败" fi 在上面的例子中,我们使用curl获取www.example.com的头信息。我们使用$?变量检查curl是否执行成功,并根据返回值输出相应的消息。如果curl成功执行,$?值为0,我们将输出“curl执行成功”。如果curl执行失败,$?值为1,我们将输出“curl执行失败”。 总结:在bash shell脚本中,使用$?变量来获取上一条命令的返回值,以便进一步处理命令的执行结果。在使用curl获取Web服务的响应时,我们可以使用$?变量来检查curl的执行是否成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值