Tôi đã viết một kịch bản nhanh và bẩn để xử lý một số báo cáo từ một dịch vụ web:
BASE_URL='http://example.com/json/webservice/'
FIRST=1
FINAL=10000
for report_code in $(seq 1 $FINAL); do
(time -p response=$(curl --write-out %{http_code} --silent -O ${BASE_URL}/${report_code}) ) 2> ${report_code}.time
echo $response # <------- this is out of scope! How do I fix that?
if [[ $response = '404' ]]; then
echo "Deleting report # ${report_code}!"
rm ${report_code}
else
echo "${report_code} seems to be good!"
fi
done
Tôi cần phải bọc time
lệnh trong một lớp con để tôi có thể chuyển hướng đầu ra của nó, nhưng điều đó làm cho giá trị $response
không có sẵn cho shell cha. Làm thế nào để tôi có được xung quanh vấn đề này?