모든 파일을 얻을 수 있어요배쉬 패치 사이트순서대로 다운로드하세요.
SEQ=$(seq -f "%03g" 1 30)
for i in $SEQ; do
wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i;
done
하지만 최대 개수를 알아야 합니다.
목록을 가져오고 다운로드할 모든 패치 파일을 추출하는 것이 가능합니까?
답변1
wget
재귀 다운로드를 사용할 수 있습니다 .
wget -nc -nd -nH -np -r -R '*.*' http://ftp.gnu.org/gnu/bash/bash-4.3-patches/
설명하다:
-nc
:no-clobber (기존 파일을 덮어쓰지 않음)는 필요하지 않을 수도 있습니다.-nd
: 디렉터리 계층 구조를 만들지 마세요.-nH
: 호스트 이름을 기반으로 디렉터리를 만들지 마세요. 또는 모든 것이 이라는 디렉토리에 다운로드되는 것을 볼 수도 있습니다ftp.gnu.org
.-np
:상위 디렉토리로 승격하지 마십시오.-r
: 재귀적 다운로드.-R '*.*'
:.
파일 이름에 가 포함된 항목은 모두 거부합니다(그런 항목은 건너뛰기index.html
). 수락 목록도 사용할 수 있습니다.파일이 다운로드되었으나 삭제됨.
답변2
for i in $(seq -f "%03g" 1 999); do
wget http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i
if [[ $? -ne "0" ]]; then
MAX=$(expr $i - 1)
break;
fi
done
echo $MAX files downloaded