shell整理(35)====模擬用戶登陸的打印菜單腳本

(一)打印一個菜單,接受一個輸入,若是沒有這個用戶就建立用戶和密碼,將建立的用戶和密碼寫入到一個文件,若是文件中有就模擬一個用戶登陸,要求用戶名任意,能夠是(^$ ^q ),密碼分兩種能夠是空密碼,也能夠是任意長度的密碼。
shell

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

            


這個腳本雖然很簡單,可是我也根據不一樣的狀況調試了很久.bash

相關文章
相關標籤/搜索