Mailinglist Archive: opensuse-de (2055 mails)

< Previous Next >
Re: wget Problem
  • From: Thomas Moritz <thm_ml@xxxxxxxxxxx>
  • Date: Fri, 11 Nov 2005 12:20:02 +0100
  • Message-id: <200511111220.02346.thm_ml@xxxxxxxxxxx>
Am Mittwoch, 9. November 2005 21:59 meinte David Haller:

Hallo David,
> Am Wed, 09 Nov 2005, Thomas Moritz schrieb:
> [..]
>
> >[1] Warum schreibst Du das File eigentlich nicht gleich an die
> >richtige Stelle?
> >
> >#!/bin/bash
> >woher="http://www.von.hier.de";
> >wohin="/dev/null" # :-)
> >wget -c "$woher" -nH --directory-prefix="$wohin" && machnochwas

> ### Variante 'if-then-else-fi':
> if wget -c -O "$wohin" "$woher"; then
> machnochwas
> und noch mehr
> else
> retval=$?
> echo "So ein Mist, wget kann '$woher' nicht saugen" >&2
> exit $retval
> fi

Du warst so ausfuehrlich:-) Dann sollte aber die case-Variante nicht
fehlen:

case "`wget -c $woher -O $wohin`$?" in
0) echo "hat geklappt"; echo "machnochwas";;
1) echo "ging schief"; echo "machs nochmal";;
*) echo "Ende mit Fehlercode=$?";;
esac

Das hat den Vorteil, dass man bei Programmen mit mehreren
definierten ReturnCodes auf jeden beliebigen entsprechend reagieren
kann. (schoen uebersichtlich)
Im Beispiel bin ich nur von 0=OK 1=!OK ausgegangen. Hatte gerade
keine Lust mit wget rumzuspielen:-)

PS.: Die Option -O von wget hatte ich mir nie angewoehnt, da sie nur
bei 1-File-Downloads (wie hier vom OP gesucht) sinnvoll ist. Der zu
schreibende FileName ist hierbei zwingend erforderlich.
Mein Standard ist eher folgender Aufruf:-)

wget -r -c "$woher" -nH --directory-prefix="$wohin" --cut-dirs=x
(bei grossen Sachen kommt noch ein --dont-remove-listing hinzu)

MfG Th. Moritz
--
Wieso haben so viele Maenner einen Bierbauch?
Das der arbeitslose Zwerg ein Dach ueberm Kopf hat:-)

< Previous Next >
Follow Ups