On 11.07.07 Thomas Mueller (tmueller@itm-meissen.de) wrote:
Moin,
Mit df und awk habe ich es jetzt hinbekommen. Falls es Euch interessiert:
Also irgendwie habe ich Magenkrämpfe gekriegt, also ich diesen Shellschnipsel gesehen habe.
#!/bin/sh echo '80' > limit
1. Wieso legst Du temporäre Files an, die Du sowieso nur einmal brauchst? Weise diesen Wert einer Variablen zu.
df /homelocal | tail -n1 | awk '{print $5}' > percent cut -c -1 < percent > load
Diese Zeile kann man in eine schreiben. Spart ein temporäres File/eine Variable.
read limit < limit; read load < load
Mit Variablen wäre das nicht passiert.
if [ $load -lt $limit ]; then echo "Limit nicht erreicht" else echo "Limit erreicht" fi
also so:
#!/bin/sh
limit=80 load=`df /home | tail -n1 | awk '{print $5}'|cut -c -1`
if [ $load -lt $limit ]; then echo "Limit nicht erreicht" else echo "Limit erreicht" fi
Ob da jetzt bashisms drin sin, weiß ich nicht. Ich vermute aber, daß /bin/sh auf /bin/bash zeigt. Im Übrigen bin ich mir nicht sicher, ob Du das "cut -c -1" am Ende wirklich willst. Bei einem zweistelligen Wert wird einfach die zweite Stelle abgeschnitten.... Die Overkill-Methode zum Entfernen des % wäre "sed s/%//".
H.