그래서 나는 다음과 같은 bash 파일을 가지고 있으며 지금은 for 루프를 기반으로 컬 요청을 루핑합니다. 그러나 응답이 비워 질 때까지 계속 반복하는 방법을 찾으려고 노력하고 있습니다.
불행히도 내가 호출하는 API는 페이지 당 최대 500 개의 결과 응답이있는 페이지를 기반으로합니다. 2017 년부터 데이터를 가져 오려고하므로 많은 데이터가 있습니다.
응답이 비워 질 때까지 계속 반박하고 싶습니다.
#!/bin/bash
# Basic while loop
counter=1
for ((i=1;i<=2;i++));
do
curl -o gettext.txt --request GET \
--url "https://api.io/v1/candidates?page=${counter}&per_page=500" \
--header 'Authorization: Basic aklsjdl;fakj;l;kasdflkaj'
((counter++))
done
echo $counter
echo All done
누구나 아이디어가 있습니까?
break
언제든지 루프를 종료하는 데 사용할 수 있습니다 .
#!/bin/bash
for ((counter=1; 1; counter++)); do
curl -o gettext.txt --request GET \
--url "https://api.io/v1/candidates?page=${counter}&per_page=500" \
--header 'Authorization: Basic aklsjdl;fakj;l;kasdflkaj'
if [ ! -s gettext.txt ]; then
break;
fi
# do something with gettext.txt
# as in your question, it will be overwritten in the next iteration
done
echo "$counter"
echo "All done"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다