In einer Bash Shell (Linux) Anzahl der angemeldeten Nutzer via who addieren?
Huhu, ich muss in meiner Aufgabe die ich gerade in meinem Praktikum bekommen habe in der Shell ein Skript (.sh) schreiben welches mir ein mal alle angmeldeten Nutzer auf meinem PC bzw in meinem Netzwerk anzeigt und dann diese alle addiert und mir eine Zahl auswirft (die Zahl wieviele Leute in meinem Netzwerk eingeloggt sind) wenn also z.b. nur ich angemeldet wäre das es mir dann sagt: "Nutzer Online: 1" (als Beispiel).
Wie mache ich das? Danke für eure Hilfe! :)
3 Antworten
Hallo
ich muss in meiner Aufgabe [....] in der Shell ein Skript (.sh) schreiben welches mir ein mal alle angmeldeten Nutzer auf meinem PC bzw in meinem Netzwerk anzeigt
Es ist ja wohl ein Unterschied ob man die Benutzer des gleichen Systems oder die aller anderen anzeigen lassen will.
Die Nutzer auf dem eigenen System sieht man, als root, mit den Kommandos:
who
oder vielleicht sogar:
w
was sogar noch anzeigt was der User gerade ausführt.
Die Benutzer von anderen Systemen, auch wenn diese im gleichen Netzwerk hängen, kann man nicht abfragen. Was man aber abfragen kann ist, welche Computer im Netzwerk sind.
Linuxhase
ganz einfach so:
who | cut -f1 -d' ' | sort -u | wc -l
who würde alle User auflisten, die die mehrfach eingeloggt sind erscheinen auch mehrfach ( auch z.B. wenn mehrere xterm's laufen)
cut trennt die jeweilige Zeile in Worte, durch Leerzeichen (-d' ') getrennt und gibt das erste Wort aus.
sort sortiert und unterdrückt mehrfache Worte ( hier die Usernamen)
wc zählt die Zeilen ( -l ) und gibt sie aus.
Da die Ausgabe von who mit | an cut weitergeleitet und die Ausgabe von cut an sort und dessen Ausgabe an wc weitergeleitet wird, erscheint als Ergebnis die Zahl der angemeldeten User.
Hallo erstmal,
Evt könnte dir der Befehl weiterhelfen "who | wc -l". Der Befehl listet alle angemeldeten User auf, zählt sie und gibt dir eine Zahl aus.
Das ganze noch in ein Bash script verpacken und fertig.
MFG
@guenterhalt
Statt
geht es auch so:
Ist 'nen Ticken kürzer ;-)
Und so geht es sogar noch etwas kürzer:
Linuxhase