
Ich kann alle Dateien auf demBash-Patch-Siteindem Sie sie der Reihe nach herunterladen:
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
Dafür müsste ich aber die Maximalzahl kennen.
Gibt es eine Möglichkeit, nur die Liste abzurufen und alle Patchdateien zum Herunterladen zu extrahieren?
Antwort1
wget
Sie können beim rekursiven Herunterladen Folgendes verwenden :
wget -nc -nd -nH -np -r -R '*.*' http://ftp.gnu.org/gnu/bash/bash-4.3-patches/
Erläuterung:
-nc
: No-Clobber (vorhandene Dateien nicht überschreiben), wahrscheinlich nicht notwendig.-nd
: Erstellen Sie keine Verzeichnishierarchie.-nH
: Erstellen Sie kein Verzeichnis basierend auf dem Hostnamen. Andernfalls finden Sie alles, was in ein Verzeichnis namens heruntergeladen wurdeftp.gnu.org
.-np
: Niemals zum übergeordneten Verzeichnis aufsteigen.-r
: Rekursiv herunterladen.-R '*.*'
: Lehnt alles ab, das ein.
im Dateinamen hat (überspringt Dinge wieindex.html
usw.). Es kann auch eine Akzeptanzliste verwendet werden.Die Datei wird heruntergeladen, aber verworfen.
Antwort2
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