gpt4 book ai didi

regex - 如何检查 curl 的 http_code 是否在 200 和 299 之间

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:06 25 4
gpt4 key购买 nike

我想测试一个网站,直到它返回 200 到 299 之间的 http_code:

  until [[ $(curl --silent -o /dev/null -w %{http_code} -u admin:admin http://mywww:8080/api/v1) = "2[0-9][0-9]" ]] ;do
printf '.'
sleep 5
done

但即使 curl 返回 202,它也会继续循环。在与正则表达式进行比较时,我尝试用 -eq 替换 = 但随后它会抛出错误

[[: 2[0-9][0-9]: syntax error: invalid arithmetic operator (error token is "[0-9][0-9]")

最佳答案

试试这个:

until [[ $(curl -I --silent -o /dev/null -w %{http_code} -u admin:admin http://mywww:8080/api/v1) =~ 2[0-9][0-9]  ]] ;do
printf '.'
sleep 5
done

-I:做一个head而不是get。如果不被网络服务器阻止,效率会更高。

=~ 2[0-9][0-9]:允许在 if 语句中使用正则表达式的 Equal Tilde 运算符。

旁注:如果您不想使用等号波浪号,您应该去掉模式中的引号。

关于regex - 如何检查 curl 的 http_code 是否在 200 和 299 之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42300053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com