Изменение баланса значения переменной

Я практикую unix, самообучение, так что я сделал некоторые основные кодирования создания банкомата. до сих пор я сделал следующее и нужно руководство на последнем препятствии

Я застрял на том, как я могу обновить значение. например, если пользователь выбирает вариант:... 1=5 2=10 3=20 4=50

Я думал, что это будет просто, как что-то вроде этого expr $bal1 +5

или я должен использовать команды awk и sed для получения текущего значения, а затем + значение, введенное пользователем?

Вот код, на самом деле все в одном файле

#!/bin/bash
#This is an automated cash machine

##########################
#Created Variables
##########################
user1=1234
user2=0000
user3=0124
name1=Mike
name1=John
name2=Brad
name3=Sophie
bal1=0
bal2=0
bal3=0
###################################
#Created functions add_funds
###################################

main_screen ()
{
    echo "####################################"
    echo "1.\tAdd Funds"
    echo "2.\tWithdraw Funds"
    echo "3.\tCheck Balance"
    echo "4.\tExit"
    echo "####################################"

    echo "Enter Option:\c"
    read number

    if [ $number = 1 ]
    then
        add_funds

    elif [ $number = 2 ]
    then
        clear
        echo "withdraw Funds"

    elif [ $number = 3 ]
    then
        clear 
        echo "Show balance"

    elif [ $number = 4 ]
    then
        exit

    else   
        echo "wrong selection, try again"
        sleep 1
        clear 
        while [ $number -gt 4 ]; do
            main_screen
        done
    fi
}

add_funds ()
{
    clear
    echo "How much would you like to add?"
    echo "select one of the following options"

    echo "1.\t£5.00"
    echo "2.\t£10.00"
    echo "3.\t£20.00"
    echo "4.\t£50.00"

    echo "Enter Option:\c"

    read amount

    if [ $amount = 1 ]
    then
        $((`expr $bal1+5`)) #this does not work
        echo "you have added £5.00"
        echo "ACCOUNT UPDATED $bal1"

    elif [ $amount = 2 ]
    then
        echo "you have added £10.00"
        echo "ACCOUNT UPDATED"
    elif [ $amount = 3 ]
    then
        echo "you have added £20.00"
        echo "ACCOUNT UPDATED"
    elif [ $amount = 4 ]
    then
        echo "you have added £50.00"
        echo "ACCOUNT UPDATED"
    else
        echo "wrong selection, try again"
        sleep 1
        while [ $amount -gt 4 ]; do
            add_funds
        done
    fi
}

################################
# MAIN CODE
################################

clear
echo "***********************"
echo "   CASH DESPENSER      "
echo "***********************"

echo "Enter Pin:\c"

read pin

if [ $pin = $user1 ]
then
    clear
    echo "Welcome $name1, How can I assist you"
    main_screen
elif [ $pin = $user2 ]
then
    clear
    echo "Welcome $name2, How can I assist you"
    main_screen
elif [ $pin = $user3 ]
then
    clear
    echo "Welcome $name3, how can I assist you"
    main_screen
else
    echo "Incorrect pin user, try again"
fi
0
01.11.2017, 16:12
0 ответов

Теги

Похожие вопросы