Shell-批量创建用户,指定前缀数量创建,文件创建,判断是否存在

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

```
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值