添加一个新组为 class1 ,然后添加属于这个组的 30 个用户,用户名的形式为 stdxx ,其中 xx 从 01 到 30 ?
参考回答
为了添加一个新组 class1
并且添加 30 个用户名格式为 std01
到 std30
的用户,可以使用以下步骤编写 Shell 脚本。
解决方案
- 创建组
class1
。 - 添加用户
std01
到std30
,并将这些用户添加到class1
组。 - 设置用户密码和其他属性(可选),但此示例脚本不涉及设置密码。
脚本示例:
详细讲解与拓展
- 创建组:
- 使用
groupadd class1
命令创建一个新的组class1
。
- 使用
- 循环添加用户:
- 使用
for i in $(seq -f "%02g" 1 30)
来生成数字01
到30
。seq -f "%02g"
生成格式化的两位数,如01
,02
…30
。 - 在每次循环中,构造用户名
std$i
,并使用useradd
命令创建用户。选项-m
用来创建用户的 home 目录,-G class1
用来将用户添加到class1
组。
- 使用
- 设置密码(可选):
- 如果需要为用户设置密码,可以取消注释并修改密码。通过
echo "$username:password" | chpasswd
为每个用户设置默认密码。
- 如果需要为用户设置密码,可以取消注释并修改密码。通过
- 输出信息:
- 脚本会输出每个添加的用户的信息,如
"User std01 added to group class1"
。
- 脚本会输出每个添加的用户的信息,如
示例输出:
当脚本运行时,它会创建 class1
组并添加用户:
User std01 added to group class1.
User std02 added to group class1.
...
User std30 added to group class1.
总结
通过此脚本,可以快速批量创建 30 个用户,并将它们添加到一个新的组 class1
。此脚本对日常批量用户管理任务非常实用。如果需要进一步的个性化设置(如密码),可以根据需要进行扩展。