Wie bekomme ich den Namen des aktiven Benutzers über die Befehlszeile in OS X?Wie bekomme ich den Namen des aktiven Benutzers über die Befehlszeile in OS X?
Antwort
als ‚whoami‘ veraltet ist, ist es wahrscheinlich mehr vorwärtskompatibel zu verwenden:
id -un
Via here
Überprüfung der Besitzer von/dev/console scheint gut zu funktionieren.
stat -f "%Su" /dev/console
Dies funktioniert gut, wenn Sie in eine Maschine ssh'ed sind und wollen, um zu sehen, ob ein Benutzer lokal angemeldet ist. Ist dies nicht der Fall, gibt der Befehl "root" zurück. –
EDIT
Die Whoami Dienstprogramm durch die ID (1) Utility holt worden ist, und ist zu id -un
äquivalent. Der Befehl id -p
wird für die normale interaktive Verwendung vorgeschlagen.
Ich bin mir ziemlich sicher, dass das Terminal in OS X wie Unix ist, so dass der Befehl wäre:
whoami
Ich habe keinen Mac auf mich im Moment so jemand mich korrigieren, wenn ich 'Ich liege falsch.
ja, OSX 10.5 ist (endlich) ein voll qualifizierter Unix. – kent
definieren ‚aktive Benutzer‘.
Wenn die Frage ist "wer ist der angemeldete Benutzer", dann ist "Wer bin ich" oder "Whoami" in Ordnung (obwohl sie unterschiedliche Antworten geben - "Whoami" meldet nur einen Benutzernamen; "Wer bin ich" Berichte über Terminal und Login-Zeit auch).
Wenn die Frage ist, welche Benutzer-ID die effektive ID für die Shell ist, dann ist es oft besser, "ID" zu verwenden. Dieser meldet die tatsächliche und effektive Benutzer-ID und Gruppen-ID sowie die zusätzlichen Gruppen-IDs. Dies kann von Bedeutung sein, wenn die Shell SUID oder SGID ausführt.
Wenn Sie wissen wollen, wer zur Zeit im System angemeldet ist:
$ w 15:56:14 up 5 days, 20:58, 6 users, load average: 0.43, 0.53, 0.50 USER TTY [email protected] IDLE JCPU PCPU WHAT me pts/2 Fri19 1:03m 0.98s 0.98s -/bin/bash me pts/3 09:55 6:00m 0.43s 0.43s /bin/bash me pts/5 15:56 0.00s 0.23s 0.00s w
(Dies ist aus einem Linux-System, das die Formatierung auf OS X kann etwas unterschiedlich sein, aber die Informationen sollten etwa gleich sein .)
Es kann mehrere Anmeldesitzungen geben; UNIX ist schließlich dafür ausgelegt, ein Mehrbenutzersystem zu sein.
Wenn Sie den vollständigen Namen anzeigen möchten (anstelle des Benutzername), fügen Sie die -F
Flagge:
$ id -F
Andrew Havens
-F ist eine illegale Option in Mavericks - wann hat das zuerst angefangen zu arbeiten? –
Die Frage, IMHO nicht vollständig beantwortet. Ich werde versuchen zu erklären: Ich habe einen Crontab-Eintrag, der eine Bash-Shell-Befehlsprozedur einplant, die wiederum einige meiner Dateien bereinigt; und, wenn Sie fertig sind, sendet eine Benachrichtigung an mich mit dem OS X-Benachrichtigungscenter (mit dem Befehl osascript -e 'display notification ...
). Wenn jemand (z. B. meine Frau oder meine Tochter) den aktuellen Benutzer des Computers zu ihr wechselt und mich im Hintergrund belässt, schlägt das Cron-Skript beim Senden der Benachrichtigung fehl.
So Wer ist der aktuelle Benutzer bedeutet Hat einige andere Leute die effektive Benutzer werden mich im Hintergrund verlassen? Gibt stat -f "%Su" /dev/console
den aktuellen aktiven Benutzer Name zurück?
Die Antwort ist ja; so, jetzt mein crontab Shell-Skript wurde auf folgende Weise geändert:
...
if [ "$(/usr/bin/stat -f ""%Su"" /dev/console)" = "loreti" ]
then /usr/bin/osascript -e \
'display notification "Cleanup done" sound name "sosumi" with title "myCleanup"'
fi
- 1. Wie ändere ich den Namen des aktiven Schemas in XCode?
- 2. Wie bekomme ich die OS X Systemversion?
- 3. Netzwerk-Volume über die Befehlszeile mounten ist OS X
- 4. Wie kann ich den Namen des aktiven Tastaturlayouts bestimmen?
- 5. Erhalte den Namen des Benutzers in yii2
- 6. Wie finde ich den Ordner "Dokumente" des Benutzers mit Java in OS X?
- 7. Wie bekomme ich das Gebietsschema des Benutzers in Objective-C?
- 8. Erstellen eines MongoDB-Benutzers über die Befehlszeile
- 9. Wie bekomme ich den Ordnerpfad des lokalen Benutzers in C#?
- 10. Wie bekomme ich den Download-Ordner des Benutzers in Qt?
- 11. Wie kann ich den Netzwerk-Login-Namen des Benutzers erhalten?
- 12. Wie bekomme ich den Namen des aktuellen Windows-Benutzers in Benutzername @ Domain-Format?
- 13. Wie bekomme ich die Datetime des Benutzers in asp.net mvc?
- 14. Wie bekomme ich den Cursor vom Namen des Cursors?
- 15. Ich bekomme den Benutzernamen des aktuellen Benutzers in Swift
- 16. Wie bekomme ich den vollständigen Namen des Mikrofons in C#?
- 17. Wie bekomme ich den Namen des aktuellen Verzeichnisses in Ruby?
- 18. Wie bekomme ich den Namen des aktuellen Ziels in MSBuild?
- 19. Wie bekomme ich einen aktiven Fenstertitel mit Python in Mac?
- 20. Ruby - wie bekomme ich die Zeit des Benutzers?
- 21. Facebook API - Wie bekomme ich die Adresse des Benutzers, Telefonnummer?
- 22. Wie bekomme ich die Befehlszeile, die den Prozess gestartet hat?
- 23. Wie bekomme ich die Region des aktuellen Benutzers von Boto?
- 24. Palm WebOS - Wie bekomme ich die Telefonnummer des Benutzers?
- 25. Java: Wie bekomme ich den aktiven Editor in einem Thread?
- 26. Wie baue ich SQLite3 über die Befehlszeile?
- 27. OS X/CUPS Wie bekomme ich den Ausgangs-Host des Druckauftrags?
- 28. Wie speichern Sie den Namen des angemeldeten Benutzers?
- 29. Wie finde ich den Standort des Benutzers?
- 30. Wie verwende ich CLLocationManager in einer OS X Today Extension?
In welchem Sinn ist 'whoami' veraltet? Wer hat es für obsolet erklärt? –
Typ 'man whoami' – kent
@ Jonathan: Die Manpage für 'whoami' auf Leopard bestätigt, dass sie durch 'id' ersetzt wurde. – Naaff