마지막으로 확인한 파일이 존재하지 않는 경우 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