シェルシミュレーション銀行システム

文case文無限ループ場合のawkを使用して関数呼び出し。

1.最初のユーザー管理ファイル(INFO.TXT)を作成

passwdの  お金
WS       123      30000 
QQ       456      30000

2.銀行システム(bank.sh)を作成します。

#!/ binに/ bashの

MENU1 = " =============== 
=     1。ログイン=
=     2番出口=
=============== 
ご使用のオペレーティング・選択してください[ 1 | 2 ]:"
 
MENU2 = " ++++++++++++++++ 
+++   1クエリ+++
+++   2。預金+++
+++   3。引き出し+++
+++   4。転送+++
+++   5番出口+++
++++++++++++++++ 
お使いのオペレーティングを選択してください[ 1 | 2 | 3 | 4 | 5 ]:"


ログイン(){
    読む -p :口座番号入力のアカウントを
    読む -p " :パスワードを入力し、" パスワード
     のpasswd = ' のawk -vアカウントアカウントは$を= ' {$ IF 2印刷(== $アカウント1。)} ' ./ 情報.txt`
     のIF [-Z " $ passwdの" ]ビューパスワードは空白であるかどうか。
     そして、
        エコー アカウントのパスワードが間違っている
    のelif [$パスワード== $のpasswdの]
     その後、
        エコー 以降のログイン.... ..... 
        SLEEP  1つの
        エコー ログイン成功
        SLEEP  1 
        クリア
    
        エコー アカウントのパスワードが間違っている
    Fiの
}

クエリ(){
    マネー = ` awkの -vアカウントアカウント= $ ' {IF(== $アカウント1。)3プリント$。} ' ./ 情報.txt`
     エコー " 経常収支:$マネー"
}

storemoney(){
    読む -p 預金額を入力します。VAR
    お金 = ` awkの -vアカウント= $アカウント' {場合($ 1 ==アカウント)が$ 3印刷} ' ./ 情報を.txt`
    all_money = $(($お金+ $のVAR))
     SED -i " / $アカウント/ S / $お金/ $のall_money / " ./ 情報の.txt
    質問
}

お金を得る(){
    読む -p 預金額を入力します。VAR
    お金 = ` awkの -vアカウント= $アカウント' {場合($ 1 ==アカウント)が$ 3印刷} ' ./ 情報を.txt`
    all_money = $(($ money- の$ VAR))
     のsed -i " / $アカウントを/ sの/ $お金/ $のall_money / " ./ 情報の.txt
    質問

}

forwardmoney(){
    読む -p " 入力転送アカウント:" NEW_NAME
     のIF  のawk -v NEW_NAMEアカウント= $ ' {IF(== $のNEW_NAME 1。)1プリント$。} ' ./ 情報の.txt&>は/ dev / nullに
    、次に
        読む -p " 入力転送量を:for_money
        MONEY1 = ` awkの -vアカウント= $アカウント' {($ 1 ==アカウント)$ 3印刷があれば} ' ./ 情報が.txt`
         場合は、[$ MONEY1 - LTの$のfor_money]
         その後、
            エコー " !不足余额" 
         
            all_money1 = $( ($ money1- $ for_money))
             SED -i " / $アカウント/ S / $ MONEY1 / $ all_money1 / " ./ 情報の.txt
            money2 = ` awkのアカウントは= $ NEW_NAME -v ' {場合($ 1 ==アカウント)$ 3印刷} ' ./ 情報.txt`
            all_money2 = $(($ money2 + $ for_money))
             SED -i " / $ NEW_NAME / sの/ $ money2 / $ all_money2 / " ./ 情報.TXT
             エコー " 转账成功を"
            質問
        FI 
    
        エコー !転送アカウントが存在しないことを確認してください
    Fiを提供して
}

一方で 真が
行う
    明確な
    読み取り -p " $ MENU1を" NUM1
     場合は [$はNUM1 -eq 1 ]
     その後、
        ログイン
        しながら、 
        
            読ん -p " $ MENU2を" num2の
             ケースの$ NUM2 
            1 
                質問
            ;;
            2 
                storemoney
            ;;
            3 
                お金を得る
            ;;
            4 
                forwardmoney
            ;;
            5 
                ブレーク
            ;;
            * エコー 正しい番号を選択してください。」
            ;;
            ESACは
        行わ
    のelif [$ NUM1 -eq 2 ]
     その後、
        出口
    
        エコー 正しい数を選択し、」
    Fiの
DONE

成功裏に着陸した後、現在のインターフェースに入りました

 

 

おすすめ

転載: www.cnblogs.com/MR-ws/p/11110978.html