2012-06-06 13 views
10

Come posso ottenere l'id del gruppo di un gruppo in mac os o linux? .Qual è il comando per ottenere groupid di un nome di gruppo in mac o linux?

cioè, Comando GroupName ==> dovrebbe restituire la groupid

Esempio:

Command staff ==> 20 
+2

Ma questo comando era richiesto per lo sviluppo del mio prodotto. vale a dire, nello script di installazione shell – Rajasekhar

+0

Questa è una domanda valida e non banale e deve essere riaperta. – ulidtko

+1

@ulidtko: sfortunatamente non è valido per Stack Overflow, poiché le regole sono piuttosto rigide in questi giorni rispetto a prima. Stai facendo la cosa giusta chiedendo in SOCVR però. – halfer

risposta

20

Su Linux, è possibile utilizzare getent(1):

$ getent group staff 
staff:x:20: 

Se desideri solo 20:

$ getent group staff | cut -d: -f3 
20 

Su OS X, è possibile utilizzare dscl(1):

$ dscl . -read /Groups/staff | awk '($1 == "PrimaryGroupID:") { print $2 }' 
20 

può essere più facile da usare questo semplice comando python (utilizzando il grp library) per avere lo stesso risultato su entrambe le piattaforme:

$ python -c 'import grp; print grp.getgrnam("staff").gr_gid' 
20 
+0

Può essere fatto anche in ruby: 'ruby -e 'richiede" etc "; mette Etc :: getgrnam ("staff"). gid'' –

+0

più semplice: 'stat -c '% g' percorso-file' o per mac:' stat -f '% g' percorso-file' –

Problemi correlati