ich für bash in den Fehler immer [: : integer expression expected"
Shell, solange er unterhalb Skript ausgeführtBash Fehler [: Integer-Ausdruck erwartet“
#!/bin/bash
sm=$(ps -e | grep sendmail > /dev/null 2>&1)
pm=$(/etc/init.d/postfix status > /dev/null 2>&1)
check_mail(){
if [ "$sm" -eq 0 ]; then
echo "Service Status: Sendmail is Running!"
elif [ "$pm" -eq 0 ]; then
echo "Service Status: Postfix Service is Running!"
else
echo "Service Status: Both Sendmail & Postfix Service is Not Running On $(uname -n)"
fi
}
check_mail
Während das obige Skript ausgeführt wird es einfach ist die Ausgabe von
else
zeigt. Zustand.
Service Status: Both Sendmail & Postfix Service is Not Running On host
Obwohl, ich habe getestet "==" eher "eq" zum Vergleich und [[]]
hat aber nicht funktioniert.
Sie alle die Ausgabe senden an devnull, so wird es nichts in Ihrem Vars sein. – 123
@ 123, auch wenn die Ausgabe nicht nach '/ dev/null 2> & 1' umgeleitet wird, was den 'Integer'-Fehler ergibt. – krock1516
Da keiner dieser Befehle eine Ganzzahl ausgibt. – 123