在mac或linux中获取组名的groupid的命令是什么?

Raj*_*har 11 linux macos macros

如何在mac os或linux中获取组的组ID?

ie.,Command GroupName ==>应该返回groupid

例如:

Command staff   ==>   20
Run Code Online (Sandbox Code Playgroud)

mat*_*ath 22

在Linux上,您可以使用getent(1):

$ getent group staff
staff:x:20:
Run Code Online (Sandbox Code Playgroud)

如果你只想要20:

$ getent group staff | cut -d: -f3
20
Run Code Online (Sandbox Code Playgroud)

在OS X上,您可以使用dscl(1):

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

使用这个简单的python命令(使用grp库)可以更容易在两个平台上获得相同的结果:

$ python -c 'import grp; print grp.getgrnam("staff").gr_gid'
20
Run Code Online (Sandbox Code Playgroud)