Shell脚本如何插入多值变量并通过CURL逐个发起请求
Shell多号码短信发送脚本修改方案
修改后可直接使用的代码
#!/bin/bash TEXTO='MENSAGEM' # 多个号码用空格分隔即可,可自行增删 NUMS="41999999999 41988888888 41977777777" url="https://api.smsdev.com.br/v1/send?key=KEY&type=9&number" # 遍历所有号码逐个发起请求 for NUM in $NUMS do echo "当前发送号码:$NUM" curl -G --data-urlencode "msg=$TEXTO" --request GET --url "$url=$NUM" # 以下为可选配置,不需要可以删除 echo -e "\n发送请求完成,等待1秒避免触发频率限制" sleep 1 # 可选:判断请求是否成功 if [ $? -eq 0 ]; then echo "号码$NUM请求提交成功" else echo "号码$NUM请求提交失败" fi done
改动说明
- 将原单值的
NUM变量改为多值集合变量NUMS,多个号码直接用空格分隔即可,支持任意数量的号码配置 - 新增for循环逻辑,遍历
NUMS中的每一个号码,每个号码单独发起一次curl请求,适配API单次仅支持一个号码的限制 - 可选新增的
sleep语句用于控制请求频率,避免短时间内大量请求触发API的限流规则,可根据实际需求调整间隔时长或者直接删除 - 可选新增的返回码判断可以直观看到每个号码的请求提交状态,不需要也可以直接删除
内容的提问来源于stack exchange,提问作者tukooow
相关产品推荐
相关产品推荐

