Comment puis-je obtenir le nom de l’utilisateur actif via la ligne de commande dans OS X?

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èreplan ? 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

entrer la description de l'image ici