2.脚本内容
#!/bin/bash
while [ "$#" -lt "2" ] ##验证脚本后的文件是否小于2个
do
echo "please give me userfile or passwd file "
exit 0
done
x=`cat $1 | wc -l`
y=`cat $2 | wc -l`
while [ "$x" -ne "$y" ] ##验证两个文件是否一致
do
echo "/mnt/userfile's line is different /mnt/passwdfile's line"
exit 0
done
for ((i=1;i<=$x;i++))
do
name=`sed -n "$i"p $1`
pass=`sed -n "$i"p $2`
useradd $name &>/dev/null
num=`echo $?`
if [ "$num" -eq "0" ];then ##验证用户是否存在
echo $pass | passwd --stdin $name ##不存在时,建立用户并设置密码
else ##存在时不做任何操作
echo " " &>/dev/null
fi
done
测试
脚本后只跟一个文件
两个文件行数不一致
建立用户并设置密码
当user1和user3存在时,只建立user2用户,并且不对user1和user3做任何操作。