需求描述:
通过读入一个包含用户名的文件 批量创建文件内部的所有用户.
实现代码:
#!/bin/bash
#v1.0 by ytchen5
#2020年11月17日
pass=123456
if [ $# -eq 0 ];then
echo "usage:`basename $0` file"
exit 1
fi
if [ ! -f $1 ];then
echo "usage: error file"
exit 2
fi
for i in `cat $1`
do
id $i &>/dev/null
if [ $? -eq 0 ];then
echo "user $i already exists."
else
useradd $i &>/dev/null
echo "$pass" | passwd --stdin $i &>/dev/null
if [ $? -eq 0 ];then
echo "$i is created."
fi
fi
done
测试结果:
[root@vm1 chenyantao]# cat user.txt
CHEN
ZHAO
LIU
eof
CHEN
ZHAO
LIU
eof
[root@vm1 chenyantao]# bash creat_user.sh
usage:creat_user.sh file
[root@vm1 chenyantao]# bash creat_user.sh dffdg
usage: error file
[root@vm1 chenyantao]# bash creat_user.sh user.txt
user CHEN already exists.
user ZHAO already exists.
user LIU already exists.
user eof already exists.
user CHEN already exists.
user ZHAO already exists.
user LIU already exists.
user eof already exists.
[root@vm1 chenyantao]# for i in cat user.txt
;do userdel -r $i &>/dev/null; done
[root@vm1 chenyantao]# bash creat_user.sh user.txt
CHEN is created.
ZHAO is created.
LIU is created.
eof is created.
user CHEN already exists.
user ZHAO already exists.
user LIU already exists.
user eof already exists.
[root@vm1 chenyantao]#