编写 script.sh
1.
script.sh /mnt/userfile /mnt/passfile
2.
当要建立的用户已经存在,不做任何操作
3.
当脚本后所指定文件个数少于2个
Please give me userfile or passfile
4.
当所给文件的行数不一致
userfile line and passfile line is different!
vim /mnt/script.sh
#!/bin/bash
while [ "$#" -lt "2" ] ##检测文件数目是否小于2
do
echo "ERROR:Please give me userfile or passfile!"
exit 0
done
MAXUSER=`wc -l $1 | cut -d " " -f 1`
MAXPASS=`wc -l $2 | cut -d " " -f 1`
while [ "$MAXUSER" -eq "$MAXPASS" ] ##当所给文件的行数一致时
do
for NUM in $( seq 1 $MAXUSER )
do
USERNAME=`sed -n ${NUM}p $1`
PASSWORD=`sed -n ${NUM}p $2`
CKUSER=`getent passwd $USERNAME` ##检测用户是否存在
[ -z "$CKUSER" ] && (
useradd $USERNAME
echo $PASSWORD | passwd --stdin $USERNAME &>/dev/null
echo $USERNAME/$PASSWORD created successfully!
)||echo "$USERNAME exist!"
done
exit 0
done
1.
script.sh /mnt/userfile /mnt/passfile
2.
当要建立的用户已经存在,不做任何操作
3.
当脚本后所指定文件个数少于2个
Please give me userfile or passfile
4.
当所给文件的行数不一致
userfile line and passfile line is different!
vim /mnt/script.sh
#!/bin/bash
while [ "$#" -lt "2" ] ##检测文件数目是否小于2
do
echo "ERROR:Please give me userfile or passfile!"
exit 0
done
MAXUSER=`wc -l $1 | cut -d " " -f 1`
MAXPASS=`wc -l $2 | cut -d " " -f 1`
while [ "$MAXUSER" -eq "$MAXPASS" ] ##当所给文件的行数一致时
do
for NUM in $( seq 1 $MAXUSER )
do
USERNAME=`sed -n ${NUM}p $1`
PASSWORD=`sed -n ${NUM}p $2`
CKUSER=`getent passwd $USERNAME` ##检测用户是否存在
[ -z "$CKUSER" ] && (
useradd $USERNAME
echo $PASSWORD | passwd --stdin $USERNAME &>/dev/null
echo $USERNAME/$PASSWORD created successfully!
)||echo "$USERNAME exist!"
done
exit 0
done
echo "$1's line and $2's line is different!" ##当所给文件的行数不一致时