Am Mittwoch, 2. Juni 2004 17:15 schrieb Ulrich F�rst:
> ich wollte in einem Script zur Datensicherung eine Abfrage
> einbauen ob auf dem Zieldatentr�ger noch gen�gend Platz ist.
> Meine L�sung w�re
>
> folgende gewesen:
> > belegt=`du -sm`
> > if [ $belegt -gt 7500 ]
> >    then
> >        echo
> >        echo Bitte erst alte Sicherungen l�schen!
> >        echo
> >        exit 1;
> >    elif [ $belegt -lt 7500 ]
> >    then
> >        echo
> >        echo Sicherung beginnt ...
> >        echo
> > fi
>
> (Herauskommen soll: wenn die Platte zu mehr als 7500 MB belegt
> ist erfolgt nur eine Warnung sonst wird gesichert)
> Ich bekomme aber die Fehlermeldung "line 11: [: too many
> arguments" (das ist im Script die if-Zeile (dto. bei der
> anderen).
> Offensichtlich ergibt du -sm nicht eine Zahl sondern mehrere? Wie
> kann ich das verhindern?

[EMAIL PROTECTED]:~/Development/www/progs> du -sm
1       .

In der Variablen $belegt steht also "1       ." - da Du nicht 
quotest, kriegt der test folgendes zu sehen:
[ 1       . -gt 7500 ]

Abhilfe:
belegt=`du -sm | cut -f1`

Jan

Antwort per Email an