Hallo, ich versuche ein Shellscript zu schreiben das ermitteln soll, wie lange der angegebene Nutzer insgesamt auf diesem Rechner eingeloggt war.
um erstmal einmal die eingabe vom Nutzer auszuwerten habe ich if schleifen so wie das Kommando ping und finger benutzt
Code
#!/bin/bash
#Überprüfe Parametereingabe
echo " "
if [ $# == 2 ]
then
echo "Parameter wurden erfolgreich eingelesen"
else
echo "Parameter fehlt oder wurde nicht gefunden"
exit
fi
#Überprüfen ob Rechner Exestiert.
echo " "
ping -c 1 $1 > /dev/null
if [ $? -eq 0 ]
then
echo "*****Eingabe Wahr, $1 Existiert*****"
else
echo "*****Fehler $1 Exestiert nicht oder wurde nicht Gefunden*****"
echo " Programm beendet!"
exit
fi
#Überprüfen ob Nutzer Exestiert.
echo " "
finger $2
if [ $? -eq 0 ]
then
echo "User $2 Exestiert"
else
echo "*****FEHLER User $2 Konnte nicht gefunden werden*****"
echo " Programm beendet!"
exit
fi
#Verzeichnis tmp anlegen
echo " "
mkdir tmp | echo $? Verzeichnis tmp wurde angelegt um wtmp zu entpacken
echo "Kopiere alle log Daten in tmp"
cp /var/log/wtmp* ~/tmp
if [ $? -eq 0 ]
then
echo "wtmp wurden erfolgreich in das Verzeichnis tmp Kopiert"
else
echo "Fehler beim Kopieren"
fi
unxz ~/tmp/wtmp*.xz
if [ $? -eq 0 ]
then
echo "wtmp* wurden erfolgreich entpackt"
else
echo "Fehler beim Entpacken der wtmp* "
fi
echo "Liste alle log daten vom Nutzer $2 auf"
$login = last -F -f ~/tmp/wtmp | grep $1 | cut -c 50-58
"$zeit = date"
let "ergebnis=$zeit - $login"
echo "$ergebnis"
rm -r tmp
echo "Verzeichnis \"tmp\" wurde gelöscht!"
Alles anzeigen
Meine Frage bezieht sich am Schluss. Wie kann ich die ermittelten Loginzeiten aus Last jetzt zusammenrechnen
denn hier komme ich mit dem Befehl let nicht weiter.
Ich danke für die Antworten