Linux--RH254---脚本作业

来源:互联网 发布:medium怎么注册知乎 编辑:程序博客网 时间:2024/05/22 15:33
编写 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

echo "$1's line and $2's line is different!"    ##当所给文件的行数不一致时