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
谢谢使用!

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

猜你喜欢

转载自www.cnblogs.com/loganSxb/p/11100458.html