Ich bin neu in der Welt der Bash Scripting. Ich versuche eine einfache Aufgabe zu erledigen. versuchen, alle angemeldeten Benutzer und den von ihnen verwendeten Prozess aufzulisten.Bash Scripting, Sammeln von Informationen in der Sammlung
Wenn ich $(who)
tun, erhalte ich die folgenden:
user1 console Nov 19 21:08
user1 ttys010 Nov 28 09:32
ich meinen Skript zur Ausgabe etwas erwarten wie:
user1:console
user1:ttys010
Dafür versuche ich folgendes zu tun.
userlist=$(who)
for users in $userlist
do
echo $users
done
Der Ausgang war ich erwartete die $ Benutzer würde einen den folgenden Wert:
$users[0] : user1 console Nov 19 21:08 (so that I could use 'cut' command to get what I wanted)
Statt den realen Wert für Benutzer $, wenn ich diesen Befehl auszuführen ist:
$users[0] = user1
$users[1] = console
$users[2] = Nov
Ich wäre dankbar, wenn mir jemand zeigen könnte, wie ich es erreichen kann. Hier geht es nicht darum, die eingeloggten Benutzer zu erreichen, sondern mehr über das Arbeiten mit Eingängen und Schleifen.
Dank Ruslan für die ausführliche Antwort und Erklärung. Dies hat mir einen Einblick gegeben, wie diese Dinge funktionieren. Ich bin neu in der Welt des Scripting, ich schätze das sehr. –