Come si ottiene il nome dell'utente attivo tramite la riga di comando in OS X?Come posso ottenere il nome dell'utente attivo tramite la riga di comando in OS X?
risposta
come 'whoami' è diventato obsoleto è probabilmente più avanti compatibile da utilizzare:
id -un
Via here
Controllo il proprietario di/dev/console sembra funzionare bene.
stat -f "%Su" /dev/console
Questo funziona perfettamente se si esegue l'ssh in una macchina e si desidera verificare se un utente ha effettuato l'accesso localmente. Se non lo sono, il comando restituirà "root". –
EDIT
L'utilità whoami è obsoleto dalla (1) utilità id, ed è equivalente a id -un
. Il comando id -p
è consigliato per il normale utilizzo interattivo.
sono abbastanza sicuro il terminale in OS X è come UNIX, in modo che il comando sarà:
whoami
Non ho un mac su di me in questo momento così qualcuno mi corregga se ho torto
sì, OSX 10.5 è (finalmente) un Unix completo. – kent
Definire 'utente attivo'.
Se la domanda è "chi è l'utente connesso", allora "chi sono io" o "whoami" va bene (anche se danno risposte diverse - "whoami" riporta solo un nome utente; "chi sono io" rapporti anche sul terminale e tempo di accesso).
Se la domanda è "quale ID utente è l'ID effettivo per la shell", è spesso preferibile utilizzare "id". Questo riporta l'ID utente reale e effettivo e l'ID di gruppo e anche gli ID di gruppo supplementari. Ciò potrebbe essere importante se la shell esegue SUID o SGID.
Se volete sapere chi è attualmente connesso al sistema:
$ 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
(Questo è da un sistema Linux, la formattazione su OS X potrebbe essere leggermente diverso, ma le informazioni dovrebbero essere circa lo stesso .)
Possono esserci più sessioni di accesso; UNIX è progettato per essere un sistema multiutente, dopotutto.
Se vuoi per visualizzare il nome completo (al posto del nome utente), aggiungere il flag -F
:
$ id -F
Andrew Havens
-F è un'opzione illegale in Mavericks - quando ha iniziato a funzionare? –
La questione non è stata completamente risolta, IMHO. Proverò a spiegare: ho una voce crontab che programma una procedura di comando della shell bash, che a sua volta esegue una pulizia dei miei file; e, al termine, invia una notifica a me utilizzando il centro di notifica OS X (con il comando osascript -e 'display notification ...
). Se qualcuno (ad es. Mia moglie o mia figlia) passa a lei l'utente corrente del computer, lasciandomi in secondo piano, lo script cron non riesce durante l'invio della notifica.
Quindi, Chi è l'utente corrente significa ha alcune altre persone diventano l'utente effettivo lasciandomi in background? Lo stat -f "%Su" /dev/console
restituisce l'attuale nome utente attivo?
La risposta è sì; così, ora il mio script di shell crontab è stato modificato nel modo seguente:
...
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. Comando di shell per ottenere l'indirizzo mac in OS X
- 2. Impostare il browser Web predefinito tramite la riga di comando?
- 3. riga di comando IntelliJ su Mac OS X
- 4. È possibile ottenere il nome utente dalla riga di comando
- 5. Configurare il servizio Windows tramite la riga di comando
- 6. Aggiungi/importa certificato con password tramite riga di comando Mac OS X
- 7. Come eseguire il comando sudo per OS X in java
- 8. Quali metodi posso usare per ringhiare dalla riga di comando in OS X Lion?
- 9. Comando servizi su Mac OS X
- 10. Come posso verificare il supporto hardware BLE su OS X?
- 11. Posso usare la riga di comando hg incorporata in SourceTree?
- 12. Come modificare il nome del pacchetto dell'applicazione per un'applicazione Android tramite la riga di comando
- 13. Comando di arco OS X errato
- 14. Come copiare le directory in OS X 10.7.3?
- 15. Come ottenere una stringa casuale di 32 cifre esadecimali tramite la riga di comando?
- 16. Come ottenere informazioni sul server mysql tramite la riga di comando?
- 17. Come ottenere il nome utente del processo tramite PID su Mac OS?
- 18. compilazione e collegamento Swift, più il codice Objective C dalla OS X riga di comando
- 19. Opzione 'compress' per Mac OS X vs riga di comando zip (perché producono risultati diversi?)
- 20. Come posso impostare il profilo attivo tramite annotazione in primavera?
- 21. storia di svn tramite la riga di comando
- 22. Modificare il nome del file di output 'play dist' tramite la riga di comando
- 23. Ricarica Apache2 tramite Terminale in MAC OS X
- 24. come attivare e disattivare un proxy Web in os x dalla riga di comando
- 25. Ottenere la riga di comando non elaborata (unsplit) in .NET
- 26. Come ottenere il tipo di file su Mac OS X?
- 27. strumenti da riga di comando per il nuovo OS X 10.9 per gemme di rubini?
- 28. Come posso convertire un'immagine in scala di grigi tramite la riga di comando?
- 29. Come ottenere il tempo di risposta dalla richiesta di arricciatura (tramite riga di comando)
- 30. Come posso ottenere la versione del kernel di Android tramite adb (o tramite comando Python)?
In che senso "whoami" è obsoleto? Chi l'ha dichiarato obsoleto? –
digita "man whoami" – kent
@Jonathan: la pagina man di 'whoami' su Leopard conferma che è stata sostituita da' id'. – Naaff