Shell循环:for(二)

一、通过用户列表文件创建用户

        需求:通过用户列表文件创建用户

[root@localhost ~]# cat user.txt 
qian
yoa
huang

        演示:

[root@localhost ~]# vim foruser.sh    #编写脚本
#!/bin/bash
for i in `cat user.txt`
do
useradd $i
if [ $? -eq 0  ]
then
        echo "$i 创建成功"
else
        echo "$i 创建失败"

fi
done

[root@localhost ~]# bash foruser.sh    #执行脚本

Shell循环:for(二)_第1张图片 

Shell循环:for(二)_第2张图片 

 二、升级:通过用户列表文件创建用户

        需求:用户可以使用参数的形式,自定义用户名文件。 如果用户没有输入用户名文件,提示用户输入 。如果用户输入的不是文件,提示用户更正。 启动循环创建用户 如果用户已经存在,提示存在 如果用户不存在,则创建成功,提示成功。

        演示:

[root@localhost ~]# vim foruser.sh    #编写脚本
#!/bin/bash
#检测用户是否输入用户名文件参数
if [ $# -eq 0   ]
then
echo "程序运行错误,未携带用户名文件参数。"
echo "示例:$0 用户名文件。"
exit 88
fi
#判断用户输入的是否是文件
if [ ! -f $1 ]
then
        echo "程序运行错误,用户文件名有误,请重新输入。"
        exit 4
fi
#设置循环,读取文件,创建用户
for i in `cat $1`
do
id $i &> /dev/null
#如果用户不存在,则创建用户,否则提示已经存在。
if [ $? -eq 0  ]
then
        echo "$i 用户已存在,用户未创建。"
else
        useradd $i
#判断用户是否创建成功,并提示
        if [ $? -eq 0 ]
        then
                echo "$i 新用户创建成功。"
        fi
        echo 123456 | passwd --stdin $i &> /dev/null
fi
done

[root@localhost ~]# bash foruser.sh     #执行脚本

Shell循环:for(二)_第3张图片 

Shell循环:for(二)_第4张图片 

Shell循环:for(二)_第5张图片 

 

 

你可能感兴趣的:(Shell,linux,bash,shell)