shell使用for循环批量创建用户

思路:先定义一个用户名前缀➡执行1到100的循环➡判断用户名是否已存在,不论id命令是否打印出信息,直接丢入垃圾桶不显示,防止信息杂乱。id命令如果打印出信息则代表为真,输入信息用户已存在,continue继续执行循环;如果id命令未打印出信息,则直接执行用户添加操作➡成功创建输出创建信息

具体实现:

#!/bin/bash

# 定义一个用户名前缀
USER_PREFIX="user"  # 用户名前缀,如user1、user2...
# for循环遍历1到100,逐个创建用户
for ((i=1; i<=100; i++)); do
    # 拼接完整用户名(如user1、user2...user100)
    username="${USER_PREFIX}${i}"

    # 检查用户是否已存在,避免重复创建报错
    if id "$username" &>/dev/null; then
        echo "跳过:用户 $username 已存在"
        continue  # 已存在则处理下一个
    fi

    # 创建用户:-m 自动生成家目录,-s /bin/bash 设置默认shell
    useradd -m -s /bin/bash "$username"

    # 提示创建结果
    if [ $? -eq 0 ]; then
        echo "成功:创建用户 $username"
    fi
done

演示结果:

image

posted @ 2025-09-07 19:57  ITZhong  阅读(29)  评论(0)    收藏  举报