단일 bash 파일에서 이 명령을 실행하여 데이터를 URL에 게시하고 응답을 얻습니다.
curl -s -X POST $url -d "username=username"
응답 본문을 출력합니다. 모든 것이 괜찮지만 이 작업을 자동화하고 싶기 때문에 다음과 같이 urls.txt라는 파일에 여러 URL을 저장했습니다.
https://url1.com
https://url2.com
and so on...
파일의 모든 줄(URL)을 반복하려면 이 스크립트를 실행합니다.
while IFS="" read -r p || [ -n "$p" ]
do
curl -s -X POST $p -d "username=username" >> output.txt
done < urls.txt
하드코딩된 URL을 사용하여 루프를 실행해 보았지만 여전히 작동하지 않습니다.
while IFS="" read -r p || [ -n "$p" ]
do
curl -s -X POST http://manual.url -d "username=username" >> output.txt
done < urls.txt
하지만 출력이 저장되거나 표시되지 않습니다. 이유를 모르겠습니다. 어떤 아이디어가 있나요? 컬을 루프로 실행할 수 없나요?
답변1
행을 라는 변수로 읽었 p
지만 그 이후에는 해당 변수를 사용하지 않습니다.
나는 이렇게 할 것이다:
while IFS='' read -r url || [ -n "$url" ]; do
echo "URL: >>$url<<"
curl -s -X POST $url -d "username=username" >> output.txt
done < urls.txt