ATM

#!/bin/sh
HOSTNAME="localhost"                                            #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD="guojunjie"
#数据库名称
DBNAME="bank"                                                        
TABLENAME="user"  
#两个标记,用于判断是否超过输入
flag=1
flag1=1

#输入帐号密码成功后进行接下来操作
main()
{
echo "Please input what do you want to do ?(1、Balance inquiries 2、Change Password 3、draw money 4 、Deposit 5、exit) "
    read choice
    case $choice in 

  #查询余额
    1 )

      
       select_sql_money_now="select money from ${TABLENAME} where name='$name'"
       nowmoney=` mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql_money_now}" |awk '{print $1}'|tail -n1`
        echo "Balance inquiries is $nowmoney ¥"
        main
	;;

    #修改密码
    2)
        echo "Please input the new password"
      read newpassword
       update_sql_password="update $TABLENAME set password=$newpassword where name='$name'"
       mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${update_sql_password}"  
     main
 ;;
   
     #取款
    3) 
        echo "Please input how money do you want draw money" 
       read draw
        select_sql_money_now="select money from ${TABLENAME} where name='$name'"
        nowmoney=` mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql_money_now}" |awk '{print $1}'|tail -n1`
       if [[ $draw -gt $nowmoney ]]
        then
           echo "The card money is little"
         main
       else
         let "nowmoney=$nowmoney-$draw"
        update_sql="update $TABLENAME set money=$nowmoney where name='$name'"
        mysql -h${HOSTNAME}  -P${PORT}   -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${update_sql}"
       fi
       main  
       ;;

	#存款
    4)echo "Please input how money do you want Deposit money" 
       read deposit
       select_sql_money_now="select money from ${TABLENAME} where name='$name'"
       nowmoney=` mysql -h${HOSTNAME}   -P${PORT}   -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql_money_now}" |awk '{print $1}'|tail -n1`
         let "nowmoney=$nowmoney+$deposit"
           update_sql="update $TABLENAME set money=$nowmoney where name='$name'";
      mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${update_sql}"
      main 
    ;;   

    #退出系统
    5) 
	echo "Now you level the system!!"
      exit  ;;
    esac
}
 
#输入密码函数
passwordfun()
{
 
read password
select_sql_pass="select password from ${TABLENAME} where name='$name'"
realpassword=` mysql -h${HOSTNAME}   -P${PORT}   -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql_pass}" |awk '{print $1}'|tail -n1`
     if [[ $password -eq $realpassword ]] 
	 then
            main
#密码不对,重新输入
     elif [[ $password -ne $realpassword ]] 
     then
          let   "flag++"  
         if [[ $flag -gt 4 ]]
            then 
               echo "you password enter three times ,the system quit !!"
	       exit 0
         fi 
      echo "sorry passwors is wrong,Please input password again"
      passwordfun
      fi
}

echo "Please input the card name:"    #输入用户名
#输入用户函数进行判断
namefun()
{
read name   
select_sql_name="select name from ${TABLENAME} where name='$name'"
real=` mysql -h${HOSTNAME}   -P${PORT}   -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql_name}" |awk '{print $1}'|tail -n1`
if [[ -n $real ]] ; then 
  echo "Please input the password:"
     passwordfun
     
#帐号不对,重新输入
  else 
     let   "flag1++"  
      if [[ $flag1 -gt 4 ]]
          then 
             echo "you name  enter three times ,the system quit !!"
	     exit 0
      fi 
      echo "sorry name is wrong,Please input name again"
      namefun
 fi
}
namefun
原文地址:https://www.cnblogs.com/linuxer/p/2307927.html