linux批量创建用户
一、批量创建用户,指定创建数量与用户前缀
#!/bin/bash
#useradd
#v1.0 by shm 2020-03-27
read -p "请输入想要创建的用户数量:" num
if [[ ! "$num" =~ ^[0-9]+$ ]];then
echo "错误,请输入数字"
exit
fi
read -p "请输入创建用户的部门/前缀:" prefix
if [[ -z $prefix ]];then
echo "不能为空,请输入部门名称"
exit
fi
for i in `seq $num`
do
user="$prefix$i"
useradd $user
echo "123.com" | passwd --stdin $user &> /dev/null
if [ $? -eq 0 ];then
echo "$user is created"
fi
done
二、批量创建用户,通过文件进行创建
vim user.txt
bbb:111
nnn:111
mmm:111
vim user.sh
#!/bin/bash
#shm
#2020-04-05
#useradd for user.txt
#必须要添加上一个文件
if [ $# -eq 0 ];then
echo "usage:`basename $0` + 文件名"
exit 1
fi
#防止输入错误
if [ ! -f $1 ];then
echo "error file"
exit 1
elif [ -d $1 ];then
echo "please input `basename $0` file"
fi
#提取用户名和密码进行创建
for line in `cat $1`
do
if [ ${#line} -eq 0 ];then
continue
fi
user=$(echo $line | awk -F ":" '{print $1}')
pass=$(echo $line | awk -F ":" '{print $2}')
id $user &> /dev/null
if [ $? -eq 0 ];then
echo "该用户已经存在"
else
useradd $user
echo "$pass" | passwd --stdin $user &> /dev/null
if [ $? -eq 0 ];then
echo "$user is created"
fi
fi
done
[root@localhost shell]# sh user.sh user.txt
输入用户名并进行创建,测试该用户名是否为空
#!/bin/bash
read -p "请输入想要创建的用户:" user
none=''
[ $user == $none ] && echo -e "\e[1;31m Try:请尝试输入任意用户 [0m\e"
while [ ! $user == '' ]
do
id $user &>/dev/null
if [ $? -eq 1 ];then
useradd $user &> /dev/null
if [ $? -eq 0 ];then
echo "$user is created successful ~"
fi
else
echo "$user 已经存在"
fi
done
```