shell 批量添加用户健壮版
#!/bin/bash
#load system functions
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
for i in `seq -w 10`
do
#generate passwd,8 random chars
passwd=`echo $(date +%t%N)$RANDOM|md5sum|cut -c 2-9`
#check wheather the username is in the /etc/passwd
#important awk use the shell variable
check=`awk -F ‘:’ ‘/^’gccmx$i’/ {print $1}’ /etc/passwd`
if [ -z “$check” ];then
useradd gccmx$i &>/dev/null && user_status=$?
echo $passwd | passwd –stdin gccmx$i &>/dev/null && passwd_status=$?
else
user_status=1
passwd_status=1
fi
if [ “$user_status” -eq 0 -a “$passwd_status” -eq 0 ];then
action “The user gccmx$i is add successfully!” /bin/true
echo -e “username:gccmx${i}tpassword:${passwd}” >>/tmp/userinfo.txt
else
action “The user gccmx$i is add faild!” /bin/false
echo -e “username:gccmx${i}tpassword:${passwd}” >>/tmp/faild_info.txt
fi
unset user_status && unset passwd_status
sleep 1
done
运行效果(gccmx05,已经存在,所以添加失败,用户名密码信息存储在/tmp/user_info.txt里):
相关阅读:
自动备份脚本 Linux shell 第二版 http://www.linuxidc.com/Linux/2012-11/74219.htm
Linux/Unix shell 脚本中调用SQL,RMAN脚本 http://www.linuxidc.com/Linux/2012-09/70310.htm
Linux/Unix shell sql 之间传递变量 http://www.linuxidc.com/Linux/2013-01/78811.htm
Linux命令之sleep – 延迟指定时间 http://www.linuxidc.com/Linux/2011-04/3