Hi Sachse,
Original geschrieben von Sachse
Nun meine Frage
Wenn ich den $rechner ein Warheitsgehalt mit gebe (true oder false)
ist das mit echo sichtbar ? Das selbe gilt natürlich für $server im ersten Teil.
Oder funzt das so nicht.
Nein, das echo ist nicht sichtbar. Ist es nötig, dass es insgesamt 3 Skripte sind oder kannst Du das auch in eines packen ? Dann könntest Du es z.B. so versuchen:
Code:
#!/bin/bash
function user () {
users > user
echo "erstelle neue user-Datei"
anzahl=$(wc -w user | sed s/user//)
if [ $anzahl -gt 0 ]; then
echo true;
else
echo false;
fi
}
function host () {
client1=$(ping -c 1 192.168.11.1 | grep from | cut -d : -f 1 | cut -b1-2)
if [ $client1 <> 64 ] ; then
echo false;
else
echo true;
fi
}
if ! $(user) && ! $(host); then
halt
fi
exit 0
Weitere Möglichkeit:
Code:
#!/bin/bash
#
# Ausgabe von users in einem Array speichern
#
users=( $(users) )
host=$(ping -c 1 -w 5 192.168.11.1 2>&1 > /dev/null)
#
# Wenn der Rückgabewert von ping != 0 ist und das Array
# keine Elemente besitzt, Rechner runterfahren
#
if [ $? -ne 0 -a ${#users[*]} -eq 0 ]; then
/sbin/halt
fi
exit 0;
Gruß micha
Lesezeichen