[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Probleme mit bash-Script



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?

jan@jack:~/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



Reply to: