zoukankan      html  css  js  c++  java
  • shell 模拟银行系统,后期会进行完善。

    今天我们要用shell做一个简易的银行系统,暂时开放了登录安全验证、查询、存款、取款的功能,后期会进行完善。

    先说一下我们的银行系统所用到的知识点:

    函数库的创建和加载、自定义函数的使用、for循环、if判断、case语句、awk、sed 等命令,熟练掌握。

    我们创建了三个文件

    [root@logan bank]# ls
    yhku.sh  yh.sh  yh.txt

    第一个文件是函数库代码、第二个文件是银行系统的框架代码、第三个文件是测试文件。

    第一个文件内容:

    #!/bin/bash
    cunkuan(){
        yue=`awk -F: '{print $6}' ./yh.txt`
        cunkuan_new=$(($yue+$cunkuan_num))    
        sed -ri "s/$yue/$cunkuan_new/" ./yh.txt
    }
    qukuan(){
        yue=`awk -F: '{print $6}' ./yh.txt`
        qukuan_new=$((yue - qukuan_num))
        sed -ri "s/$yue/$qukuan_new/" ./yh.txt
    }
    
    chaxun(){
    user=`awk -F ":" '{print $2}' ./yh.txt`
    pass=`awk -F ":" '{print $4}' ./yh.txt`
    
    if [ $username == $user ] && [ $password -eq $pass ]
    then
        while true
        do
                echo "======================"
                echo "======================"
                echo "=====  欢迎使用  ======"
                echo "=====   1.查询   ====="
                echo "=====   2.存款   ======"
                echo "=====   3.取款   ====="
                echo "=====   4.退出   ====="
                echo "======================"
            read -p "请选择:" bianhao
            case $bianhao in
            1)
            echo "余额:`awk -F: '{print $6}' ./yh.txt`"
            ;;
            2)
            read -p "输入存款金额:" cunkuan_num
            cunkuan
            echo "成功"
            ;;
            3)
            read -p "输入取款金额:" qukuan_num                
            qukuan
            echo "成功!"
            ;;
            4)
            echo "谢谢使用!"
            break
            ;;
            *)
            echo "输入正确的编号!"
            ;;
            esac
        done
    else
        echo "账户或密码不正确!!"
        exit
    fi
    }

    这一部分主要是负责用户登录的安全验证、查询、存款、取款的功能。

    运用函数库,可以缩减一部分的代码量

    第二部分银行系统主题框架部分 

    #!/bin/bash
    . ./yhku.sh
    while true
    do
    echo "======================"
    echo "======================"
    echo "=====  欢迎使用   ====="
    echo "=====   1.登录   ====="
    echo "=====   2.注册   ====="
    echo "=====   3.退出   ====="
    echo "======================"
    echo "======================"
    
    read -p "请选择编号:" num
    
    case $num in 
        1)
        read -p "输入账号:" username 
        stty -echo
        read -p "输入密码:" password 
        stty echo
        chaxun
    ;;
        2)
        :
    ;;
        3)
        echo "谢谢使用!"
        exit
    ;;
        *)
        echo "输入正确编号"
    ;;
    esac
    done

    这部分我们把自己制作额函数库加载到这个脚本中,来完成整体功能的实现。

    第三个文件为测试文件

    [root@logan bank]# cat yh.txt 
    帐号:logan:密码:123:余额:9999

    测试用户安全验证:

    [root@logan bank]# bash yh.sh 
    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.登录   =====
    =====   2.注册   =====
    =====   3.退出   =====
    ======================
    ======================
    请选择编号:1
    输入账号:logan
    输入密码:======================
    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:
    [root@logan bank]# bash yh.sh 
    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.登录   =====
    =====   2.注册   =====
    =====   3.退出   =====
    ======================
    ======================
    请选择编号:1
    输入账号:sdf
    输入密码:账户或密码不正确!!

    测试用户登录后的操作:

    1.查询

    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:1
    余额:9999

    2.存款

    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:2
    输入存款金额:1
    成功
    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:1
    余额:10000
    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:

    3.取款

    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:3
    输入取款金额:5000 
    成功!
    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:1
    余额:5000
    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:

    4.退出

    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.查询   =====
    =====   2.存款   =====
    =====   3.取款   =====
    =====   4.退出   =====
    ======================
    请选择:4
    谢谢使用!
    ======================
    ======================
    =====  欢迎使用  =====
    =====   1.登录   =====
    =====   2.注册   =====
    =====   3.退出   =====
    ======================
    ======================
    请选择编号:3
    谢谢使用!

    后续 注册、转账功能,会进行完善。。。。。。。。。。。。

  • 相关阅读:
    shell脚本从文件夹中递归提取文件
    php生成图片缩略图,支持png透明
    shell脚本批量下载资源并保留路径
    PHP字符串word末字符大小写互换
    编译gearman提示缺少boost
    Rebranding(模拟+思维)
    拼接平方数(枚举每个数的组合情况就好)----------蓝桥备战系列
    格子刷油漆(dp)-----------蓝桥备战系列
    高僧斗法(nim博弈)----------蓝桥备战系列
    网络寻路(思维+vector的应用)-----------蓝桥备战系列
  • 原文地址:https://www.cnblogs.com/loganSxb/p/11100458.html
Copyright © 2011-2022 走看看