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
演示结果:

浙公网安备 33010602011771号