用Shell脚本批量创建用户
1.准备用户数据–users.txt
格式为:用户名 空格/Tab 密码(#就是将数据分为两列)
users.txt文本内容示例:
2.编写脚本代码
#新建文本命令 touch create_users.sh
#编译文本命令 vim create_users.sh
#!/bin/bash
#批量创建用户
while read line;do #读取line列表中的数据,进行while循环
if [ ${#line} -eq 0 ];then #如果返回值为0(空行),那么就执行下面命令
continue #跳出此循环;而break是终止循环,exit是直接退出
fi
user=`echo $line | awk '{print $1}'` #输出$line列表中的第一列,并赋予给变量user
password=`echo $line | awk '{print $2}'` #输出$line列表中的第二列,并赋予给变量password
id $user &>/dev/null #判断该用户是否存在
if [ $? -eq 0 ];then #如果返回值等于0,那么就执行下面命令
echo "$user 已经存在了"
else
useradd $user #新建$user中的用户
echo "$password" | passwd --stdin $user &> /dev/null
#将创建用户的过程输出到/dev/null目录下并在后台执行,/dev/null是一个无底洞可以在这里处理大量数据,
if [ $? -eq 0 ];then #如果返回值为0,那么就执行下面命令
echo "$user 用户创建成功"
fi
fi
done<users.txt #将用户数据,输入到列表中(前期准备的数据,users.txt);用户数据要和脚本放在一个目录下(如果不在一个目录下要加上详细位置)
#如果用户数据在 /opt/shell/ 下面,最后一行代码为:done</opt/shell/users.txt
3.输出结果
#当显示用户创建成功,说明没有出现错误
#当用户已经创建,会显示用户已经存在