如何在iMac的Unix命令行查询用户及FT_USER对应组列表
在iMac命令行处理用户组列表的两种实用技巧
我来给你一步步讲清楚这两个场景的操作方法,都是macOS终端里常用的小技巧哦~
1. 显示指定登录用户的组列表
在iMac的终端里,有两个简单易用的命令可以快速实现:
- 用
groups命令:直接跟上目标用户名就行,比如要查看用户alice的组列表,输入:
这个命令会直接输出该用户所属的所有组,组名之间用空格分隔。groups alice - 用
id命令(带参数):如果想要更精准地只输出组名,可以加上-Gn选项,比如:
输出结果和id -Gn alicegroups命令一致,也是空格分隔的组名,适合需要后续处理输出的场景。
2. 显示环境变量FT_USER指定用户的组列表(组名以无空格逗号分隔)
要实现这个需求,我们需要结合环境变量调用、组查询命令和字符替换工具,具体命令如下:
id -Gn "$FT_USER" | tr ' ' ','
或者用groups命令也能达到同样效果:
groups "$FT_USER" | tr ' ' ','
我给你拆解下每个部分的作用:
"$FT_USER":用双引号包裹环境变量,避免变量值里包含空格时出现命令执行错误;id -Gn/groups:负责获取该用户的组列表,默认输出是空格分隔的组名;| tr ' ' ',':通过管道符把前面的输出传给tr命令,tr的作用是替换字符——这里把空格替换成逗号,完美符合你要的无空格逗号分隔格式。
举个例子,如果FT_USER的值是bob,执行命令后可能会输出:staff,admin,dev-team这样的结果。
内容的提问来源于stack exchange,提问作者Mveliso




