Bash 스크립트에서 wget을 사용하여 시리즈 건너뛰기 일괄 다운로드

Bash 스크립트에서 wget을 사용하여 시리즈 건너뛰기 일괄 다운로드

마지막으로 확인한 파일이 존재하지 않는 경우 bash 스크립트에서 폴더를 건너뛰기 위해 wget을 사용하여 파일을 일괄 다운로드하는 방법은 무엇입니까?

샘플 코드는 다음과 같습니다.

#!/bin/bash
# Script to download Reports @ brazil.crl.edu/bsd/bsd
# Url : start @ http://brazil.crl.edu/bsd/bsd/u2038/ ends: /u2176
# There are less than 1000 files per address.
base1='http://brazil.crl.edu/bsd/bsd/u'
for i in {2038..2176};do 
    for s in {000001..001000}; do
        wget -r $base1$i'/'$s'.tiff'
        if [ $? -eq 0 ]; then
            break
        fi
    done
done

첫 번째 파일만 다운로드합니다. 누구든지 도와줄 수 있나요?

답변1

이 질문을 "해결됨"으로 표시할 수 있도록 내 의견에 대한 답변은 다음과 같습니다.

귀하의 쿼리

if [ $? -eq 0 ]

확인 중인 종료 상태 . 이는 "문제가 발생하지 않음"을 의미합니다( 종료 상태 섹션 0에 따라 ). man wget따라서 if 쿼리를 다음으로 반전하십시오.

if [ $? -ne 0 ]

즉, "무엇이든 문제가 발생하면" 문제가 해결됩니다.

종료 상태는 0성공적인 명령 실행을 위한 기준입니다.

bash||if 쿼리는 명령 종료가 성공했는지 확인하는 ' 연산자를 사용하여 줄일 수 있습니다 .

wget -r $base1$i'/'$s'.tiff' || break

관련 정보