verwende mal die folgende Zeile für Dein Script.
Code:
netstat -tn | awk '{print $5}' |grep "192.168.2.150:" | cut -d":" -f1 |head -n1
oder alternativ kannst Du auch für Dein Script die folgende Suchroutine verwenden......
Code:
#!/bin/bash
while true; do
# mehrere IP-Adressen angeben (wichtig immer mit Doppelpunkt am Ende und mit Pipe getrennt)
IPLISTE="192.168.2.150:|192.168.2.155:|192.168.2.156:"
# oder Jokerzeichen für das gesamte Netzwerk.
#IPLISTE="192.168.2.*:"
IP_ONLINE="`netstat -tn | awk '{print $5}' |egrep "${IPLISTE}" | cut -d":" -f1 |sort -u | wc -l`"
if [ "${IP_ONLINE}" = "0" ]; then
echo prüfe Shutdown
sleep 300
IP_ONLINE="`netstat -tn | awk '{print $5}' |egrep "${IPLISTE}" | cut -d":" -f1 |sort -u | wc -l`"
if [ "${IP_ONLINE}" = "0" ]; then
echo Poweroff
break
else
echo "es ist doch wieder ${IP_ONLINE} PC(s) angemeldet"
fi
else
echo "es sind noch ${IP_ONLINE} PC(s) verbunden"
fi
sleep 120
done
exit 0
Lesezeichen