批量创建用户
创建以user开头的用户,创建6个 设置密码和用户名相同 统计一共创建了几个用户,分别是哪几个 统计创建用户前/etc/passwd文件多少行 统计创建完用户后/etc/passwd文件多少行
#!/bin/bash
echo '- 开始运行程序...'
#设置创建用户数
num=6
#清理环境因素,判断是否创建过该批用户,是则先删除用户
echo '- 正在清理环境因素...'
for((i=1;i<=$num;i++));do
if [[ $(cat /etc/passwd | grep 'user'$i | wc -l) -ne 0 ]];then
userdel -r 'user'$i
fi
done
#统计创建用户前/etc/passwd文件多少行
beforeTotal=$(cat /etc/passwd | wc -l)
sucAddCount=0 #累加创建成功用户数
sucAddUserName=() #数组记录创建成功的用户名
echo -e "- 需要创建用户数为:$num,开始创建user用户...\n"
for((i=1;i<=$num;i++));do
u='user'$i #用户名变量
echo '正在创建'$u'...'
#判断创建正常
if [[ $(useradd $u) -eq 0 ]];then
sucAddUserName[$i]=$u #记录用户名
sucAddCount=$((${sucAddCount} + 1)) #累计成功用户数
fi
echo $u| passwd --stdin $u #设置密码和用户名相同
echo '' #输出空行
done
echo '一共创建了'$sucAddCount'个用户,分别为:'${sucAddUserName[@]}
#统计创建用户后/etc/passwd文件多少行
afterTotal=$(cat /etc/passwd | wc -l)
echo '创建前/etc/passwd文件【'$beforeTotal'】行'
echo '创建后/etc/passwd文件【'$afterTotal'】行'
echo '相差【'$(($afterTotal-$beforeTotal))'】行'
输出如下: