curl.sh 576 B

123456789101112131415161718192021222324252627
  1. #!/bin/sh
  2. # 执行curl直至成功
  3. curl_cycle(){
  4. while true; do
  5. curl "$@"
  6. if [ "$?"x = "0"x ]; then
  7. break
  8. fi
  9. done
  10. }
  11. # 执行下载直至成功
  12. curlDown(){
  13. folder=$1
  14. filename=$2
  15. dUrl=$3
  16. dProxy=$4
  17. [ ! -d "${folder}/tmp" ] && mkdir -p "${folder}/tmp"
  18. if [ "${dProxy}"x != ""x ]; then
  19. curl_cycle -x ${dProxy} -kfsSL -o "${folder}/tmp/${filename}" ${dUrl}
  20. else
  21. curl_cycle -kfsSL -o "${folder}/tmp/${filename}" ${dUrl}
  22. fi
  23. mv "${folder}/tmp/${filename}" "${folder}/${filename}"
  24. }