(一)打印一个菜单,接受一个输入,如果没有这个用户就创建用户和密码,将创建的用户和密码写入到一个文件,如果文件中有就模拟一个用户登录,要求用户名任意,可以是(^$ ^q ),密码分两种可以是空密码,也可以是任意长度的密码。

shell代码如下:

#!/bin/bash

create_user(){
        read -p "Plz Input Name:" name
        cat file | grep $name &>/dev/null
        [ $? -eq 0 ] && echo "The user is exise" && exit 0
        if [ -z $name ];then
                echo "no exise" && exit 0
        fi
        read -p "Plz Input Passwd:" passwd
        read -p "Plz Input Passwd Again:" passwd1
        if [[ "$passwd" != "$passwd1"  ]] ;then
                echo "passwd not right" && exit 0
        fi
        if [ ! -z  "$passwd"  ];then
                echo "$name   "$passwd" " >>file
                echo "successfully!"
        fi
        if [ -z "$passwd" ];then
                echo "$name   " " " >>file
                echo "successfully!"
        fi

}
login(){

        read -p "Plz Input name:" name
        a="`cat file | awk '$1=="'$name'"'|cut -d ' ' -f2-`"
        b=`echo "$a" | sed 's/ //g'`
        cat file | awk '$1=="'$name'"' &> /dev/null
        if [ $? -eq 0 ];then
                read -p  "Plz Input your passwd:" passwd
                c=`echo $passwd | sed 's/ //g'`

                if [[ "$b" = "$c"  ]];then
                        echo "successfully!"
                else
                        echo error
                fi
        else
                echo "not user;plz to creiate"
        fi
}
haha(){
case $cc in
        1)
                create_user
                ;;
        2)
                login
                ;;
        3)
                exit 0
                ;;
        *)
                exit 1
                ;;
esac

}
cat << EOF
=========please choice=========
        1)  create_user
        2)  login
        3)   exit

EOF
read -p "Choice:" cc
haha

            


这个脚本虽然很简单,但是我也根据不同的情况调试了好久.