拒绝伸手党~~~
shell脚本之某某银行
从登录模块 注册模块
再到里面的多个功能
这里还有个user.txt的文件
user.txt
user passwd money
aa 123 8987942221938
bb 321 142121786
1232141 123
dd 123 1231
个别功能还没写好,有大神的话可以指点一二
#!/bin/bash
echo " 欢迎光临,华北某某银行"
mun1="登录输入1 ; 注册输入2 ; 退出输入3 --"
mun2=" +++++++++++++++++++++++++++++++++++++++++++
++++++++++1.账户信息++++++++2.余额 ++++++++
++++++++++3. 取款 ++++++++4.存款 ++++++++
++++++++++5. 转账 ++++++++6.修改密码+++++
++++++++++7. 退出 ++++++++8.未开发 ++++++
+++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++请输入您需要的功能:"
##################
login(){
read -p "请输入账号" account
read -s -p "请输入密码" passwd
password=`awk -v apasswd=$account '{if($1==apasswd)print $2}' user.txt`
if [ -n $passwd ] && [ $passwd == $password ]
then
echo "登录中... ... "
sleep 1
echo "登录成功"
else
echo "账户或密码错误"
exit
fi
}
zhuce(){
read -p "请按'账户 密码'aa 123的格式输入" uaccount
`cat >> user.txt << EOF
$uaccount 0`
}
option1(){
awk -v apasswd=$account '{if($1==apasswd)print $1}' user.txt
}
option2(){
money=`awk -v apasswd=$account '{if($1==apasswd)print $3}' ./user.txt`
echo "$money"
}
option3(){
read -p "请输入取款金额:" jmoney
money=`awk -v apasswd=$account '{if($1==apasswd)print $3}' ./user.txt`
if [ $jmoney -le $money ]
then
allmoney=$(($money-$jmoney))
sed -i '/'$account'/s/'$money'/'$allmoney'/' ./user.txt
else
echo "余额不足"
fi
echo "余额为:$allmoney"
}
option4(){
read -p "请输入存款金额:" jmoney
money=`awk -v apasswd=$account '{if($1==apasswd)print $3}' ./user.txt`
allmoney=$(($money+$jmoney))
sed -i '/'$account'/s/'$money'/'$allmoney'/' ./user.txt
echo "余额为:$allmoney"
}
option5(){
echo "相关功能正在开发中"
sleep 3
}
option6(){
read -p "请输入3位数字组合密码:" upassword
password=`awk -v apasswd=$account '{if($1==apasswd)print $2}' user.txt`
if [ -z $upassword ]
then
echo "密码不能为空!!"
elif [ $upassword -le 999 ]
then
sed -i '/'$account'/s/'$password'/'$upassword'/' ./user.txt
else
echo "请按规范输入密码"
fi
}
option7(){
break
}
#####################++++++++++1.账户信息++++++++2.余额 ++++++++
while true
do
read -p "$mun1" iuser
if [ $iuser -eq 1 ]
then
login
while true
do
read -p "$mun2" mun3
case $mun3 in
1)
option1
;;
2)
option2
;;
3)
option3
;;
4)
option4
;;
5)
option5
;;
6)
option6
;;
7)
option7
;;
*)
break
;;
esac
done
elif [ $iuser -eq 2 ]
then
zhuce
elif [ $iuser -eq 3 ]
then
exit
fi
done
这里相关的转账模块 可以参考这写一下 上面没写有些麻烦
forwardmoney(){
read -p "输入转账账号" new_name
echo $new_name
if awk -v account=$new_name '{if($1==new_name)print $1}' ./info.txt&>/dev/nul
l then
read -p "输入转账金额" for_money
money1=`awk -v account=$account '{if($1==account)print $3}' ./info.tx
t` if [ $money1 -lt $for_money ]
then
echo "余额不足!"
else
all_money1=$(($money1-$for_money))
sed -i "/$account/s/$money1/$all_money1/" ./info.txt
money2=`awk -v account=$new_name '{if($1==account)print $3}'
./info.txt` all_money2=$(($money2+$for_money))
sed -i "/$new_name/s/$money2/$all_money2/" ./info.txt
echo "转账成功"
query
fi
else
echo "转账账号不存在"
fi
}