Jan Trippler schrieb:
Am Mittwoch, 2. Juni 2004 17:15 schrieb Ulrich Fürst: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
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`
Danke, da hab ich wohl nicht gut hingeguckt beim händischen durchprobieren; der Punkt ist mir einfach nicht aufgefallen. So funktioniert auf jeden Fall. Gruß UlrichP.S. Das von Phillip vorgeschlagene `du -sm | cut -d' ' -f1` funktioniert nicht. Nur so interessehalber: Warum eigentlich nicht? Cut erkennt ein leerzeichen nicht als trenner an und interpretiert "zahl ." dann doch als ein Feld und übergibt es folglich ganz? Oder liegt das an etwas anderem?