编写一个 Shell 序,从etc/passwd 文件中读取出所有的系统用户名称和用户所属的组名称。(有多种方法,要求务必使用教材中的知识编程实现,当然也可以尝试 sed、awk 等其他方法。)
时间: 2024-05-16 08:12:19 浏览: 84
可以使用以下 Shell 脚本来实现:
```shell
#!/bin/bash
while IFS=: read -r user x uid gid desc home shell
do
group=$(getent group "$gid" | cut -d: -f1)
echo "User: $user, Group: $group"
done < /etc/passwd
```
这个脚本通过循环读取 `/etc/passwd` 文件中的每一行,然后使用 `cut` 命令获取用户所属的组名称,最后输出用户和组的信息。注意,我们使用了 `getent` 命令来获取组名称,因为这个命令可以从 `/etc/group` 文件以及其他来源中获取组信息。
阅读全文