Comment puis-je obtenir le nom de l’utilisateur actif via la ligne de commande dans OS X?
comme «whoami» a été obsolète, il est probablement plus compatible à utiliser:
id -un
Si vous souhaitez afficher le nom complet (au lieu du nom d’utilisateur), ajoutez l’indicateur -F
:
$ id -F Andrew Havens
Par ici
Vérifier le propriétaire de / dev / console semble bien fonctionner.
stat -f "%Su" /dev/console
qui suis je
MODIFIER
L’utilitaire whoami a été rendu obsolète par l’utilitaire id (1) et équivaut à id -un
. La commande id -p
est suggérée pour une utilisation interactive normale.
Je suis presque sûr que le terminal dans OS X est juste comme unix, donc la commande serait:
whoami
Je n’ai pas de mac sur moi pour le moment alors quelqu’un me corrige si je me trompe.
Si vous voulez savoir qui est actuellement connecté au système:
$ w 15:56:14 jusqu'à 5 jours, 20:58, 6 utilisateurs, moyenne de la charge: 0.43, 0.53, 0.50 USER TTY LOGIN @ IDLE JCPU PCPU QUOI moi pts / 2 Fri19 1: 03m 0.98s 0.98s - / bin / bash moi pts / 3 09:55 6: 00m 0.43s 0.43s / bin / bash moi pts / 5 15:56 0.00s 0.23s 0.00sw
(Cela provient d’un système Linux; le formatage sur OS X peut être légèrement différent, mais les informations doivent être à peu près identiques.)
Il peut y avoir plusieurs sessions de connexion; UNIX est conçu pour être un système multi-utilisateurs, après tout.
Définir ‘utilisateur actif’.
Si la question est «qui est l’utilisateur connecté», alors «qui suis-je» ou «whoami» convient bien (bien qu’ils donnent des réponses différentes – «whoami» ne signale qu’un nom d’utilisateur; temps de connexion aussi).
Si la question est de savoir quel ID utilisateur est l’ID effectif du shell, il est souvent préférable d’utiliser id. Ceci indique l’ID utilisateur et l’ID de groupe réels et effectifs, ainsi que les ID de groupe supplémentaires. Cela peut être important si le shell exécute SUID ou SGID.
La question n’a pas été complètement répondu, à mon humble avis. Je vais essayer d’expliquer: j’ai une entrée crontab qui planifie une procédure de commande shell bash, qui à son tour effectue un nettoyage de mes fichiers; et, une fois terminé, envoie une notification à moi en utilisant le centre de notification OS X (avec la commande d’ osascript -e 'display notification ...
la commande osascript -e 'display notification ...
). Si quelqu’un (par exemple, ma femme ou ma fille) lui renvoie l’utilisateur actuel de l’ordinateur, me laissant en arrière-plan, le script cron échoue lors de l’envoi de la notification.
Donc, qui est l’utilisateur actuel signifie Est-ce que d’autres personnes deviennent l’utilisateur efficace en me laissant en arrière – plan ? Est-ce que stat -f "%Su" /dev/console
renvoie le nom d’ utilisateur actif actuel?
La réponse est oui; donc, maintenant mon script shell crontab a été modifié de la manière suivante:
... 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
obtenir un nom d’utilisateur dans le terminal MAC est facile …
J’utilise généralement le whoami
dans le terminal …
Par exemple, dans ce cas, j’avais besoin de cela pour installer Tomcat Server …