Warum verwendet bash -ge anstelle von == mit -ge?
Daher möchte ich meinem Home-Server eine Warnung bezüglich zu wenig Festplattenspeicher hinzufügen. Ich mag das Aussehen des Folgenden, das von hier kommt :
ADMIN="yourmail@example.com" # set alert-level 90 % standard ALERT=10 df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $6 }' | while read output; do usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 }' ) if [ $usep -ge $ALERT ]; then echo "space low on \"$partition ($usep%)\", on server $(hostname) at $(date)" | mail -s "Alert: Free space low, $usep % used on $partition" $ADMIN fi done
Da ich es klug finde, jedes Skript zu verstehen, das Sie ausführen, bevor Sie es tatsächlich ausführen, habe ich mir die Manpages angesehen, um herauszufinden, wie die einzelnen Abschnitte des Programms funktionieren, und es scheint ziemlich einfach zu sein. Das einzige, was ich nicht verstehe, ist das -ge
Flag in der if
Bedingungsanweisung. Gemäß der bash- Einführung von if page würden diese beiden Werte in true ausgewertet, wenn die "Datei existiert". Wie wird diese Logik wahr, wenn ich zwei Variablen vergleiche? In anderen Programmiersprachen würde ich ==
Syntax verwenden. In ähnlicher Weise, warum vergleichen wir die Werte von 90
(wie von df gemeldet) mit 10
der Variablen vonALERT
Ich nehme an, das hat etwas damit zu tun, wie die Bedingungen bewertet werden. Ich habe keinen Grund zu der Annahme, dass dieser Code nicht funktioniert. Ich möchte nur wissen, warum, bevor er zu einem Skript hinzugefügt wird.
Vielen Dank.
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4