Eu suponho que você quer offset ir de 150 a 155, e também encurtar o comando para que eu possa explicar melhor.
Você pode incrementar offset com um for
loop e usar a variável i
como offset :
for i in {150..155}; do
curl --header "kk: vv" "http://example.com/path&offset=$i" >outfile$i 2>&1
done
Notas:
- Eu coloco
$i
em >outfile$i
, supondo que você queira manter todas as respostas para todos os offests . Sem $i
no nome do arquivo, todas as chamadas curl
gravam no mesmo arquivo e sobrescrevem, mantendo apenas o último resultado curl
.
- Em vez de
>outfile$i 2>&1
, você pode usar &>outfile$i
, mas pode não funcionar em alguns shells (mais antigos).
- Você pode conseguir a mesma coisa com um
for
como for ((i=150; i<=155; ++i)); do
ou for i in $(seq 150 155); do
. Alguma forma pode ser mais legível / familiar para você, mas não faz diferença neste exemplo.
-
É mais simples usar a expansão das chaves para casos como este e criar várias URLs para o curl
:
curl --header "kk: vv" "http://example.com/path&offset="{150..155} >>outfile 2>&1
Mas não é possível gravar cada resposta em um arquivo separado. Em vez disso, você pode anexar todas as respostas a um arquivo usando >>
.