使用场景:新增工作人员,根据用户的名单,来批量创建用户
#用户名单文件 格式为 name passwd
Directory="/tmp/user.txt"
#判断用户名单是否存在,不存在则提示并退出
if [ ! -f "$Directory" ];then
echo "用户名单错误,请确认"
exit 1
fi
#循环读入文件,根据文件提供的用户和用户密码来创建用户,当用户存在则提示已经存在且不做任何处理
while read line
do
User=`echo $line |awk '{print $1}'`
Password=`echo $line |awk '{print $2}'`
id $User &>/dev/null
if [ $? -eq 0 ];then
echo "$User has already exitst"
else
useradd $User
echo "$Password" |passwd --stdin $User &>/dev/null
if [ $? -eq 0 ];then
echo "$User creating sucesfull"
fi
fi
done<$Directory
#方法二:通过脚本参数来传入用户,并创建用户。道理是一样的,适用于少量用户的创阿金
User_list=$*
for i in $User_list
do
if ! id $i &>/dev/null;then
Passwd=$(echo "$RANDOM"|md5sum |cut -c 1-6)
useradd $i
echo "$Passwd" |passwd --stdin $i &>/dev/null
if [ $? -eq 0 ];then
echo "$i create succeful"
echo "$i $Passwd" >>/tmp/user.info
fi
else
echo "$i user already exists!"
fi
done
备注:while循环逐行处理文件内容,非常有优势,很好用