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: