今天我们要用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 ]
thenwhile true
doecho"======================"echo"======================"echo"===== 欢迎使用 ======"echo"===== 1.查询 ====="echo"===== 2.存款 ======"echo"===== 3.取款 ====="echo"===== 4.退出 ====="echo"======================"read-p "请选择:"bianhaocase $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
doneelseecho"账户或密码不正确!!"exit
fi
}
这一部分主要是负责用户登录的安全验证、查询、存款、取款的功能。
运用函数库,可以缩减一部分的代码量
第二部分银行系统主题框架部分
#!/bin/bash
. ./yhku.shwhile true
doecho"======================"echo"======================"echo"===== 欢迎使用 ====="echo"===== 1.登录 ====="echo"===== 2.注册 ====="echo"===== 3.退出 ====="echo"======================"echo"======================"read-p "请选择编号:"numcase $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谢谢使用!
后续 注册、转账功能,会进行完善。。。。。。。。。。。。