具有偏移增量的卷曲脚本

具有偏移增量的卷曲脚本

如何增加curl脚本中的偏移量?

我的脚本是:

#!/bin/bash
curl -a --silent --header "api-key: 4444444455" --header "accept: application/xml" --header "cache-control: no-store" "https://gghghghg.com/api/invoices?supplier%5Bid%5D%5Bnot_eq%5D=109789%3F&limit=50&offset=150" >  /bi01/In_API_Call_Data.txt 2>&1 
exit 0

答案1

我假设你想要抵消从 150 到 155,并缩短命令,以便我可以更好地解释它。

您可以增加抵消使用for循环并使用变量i作为抵消

for i in {150..155}; do
    curl --header "kk: vv" "http://example.com/path&offset=$i" >outfile$i 2>&1
done

笔记:

  • 我输入$i>outfile$i假设您想保留所有人的所有回复offests。如果没有$i文件名,所有curl调用都会写入同一文件并覆盖它,只保留最后的curl结果。
  • >outfile$i 2>&1您可以使用代替&>outfile$i,但它可能无法在某些(较旧的)shell 中工作。
  • for您可以使用likefor ((i=150; i<=155; ++i)); do或 来实现同样的目的for i in $(seq 150 155); do。某些形式可能对您来说更易读/熟悉,但在本例中没有区别。
  • 对于这样的情况,使用大括号扩展并为以下内容创建多个 URL 会更简单curl

    curl --header "kk: vv" "http://example.com/path&offset="{150..155} >>outfile 2>&1
    

    但它无法将每个响应写入单独的文件。相反,您可以使用>>.

答案2

#!/bin/bash
for i in {0..150,160}; do
  curl -asH "api-key: 4444444455" -H "accept: application/xml" -H "cache-control: no-store" "https://gghghghg.com/api/invoices?supplier%5Bid%5D%5Bnot_eq%5D=109789%3F&limit=50&offset="$i >/bi01/In_API_Call_Data.txt 2>&1
done
exit 0

您可以使用一个简单的for循环来更改您的 URL,上面的示例将采用0to150和中的所有数字160

相关内容