私はUnixを練習し、自分で教えながら現金支払い機を作るための基本的なコーディングをしました。これまで私は次のことを行いましたが、最後の障害物に関する指示が必要です。
この値を更新する方法が詰まっています。たとえば、ユーザーがオプションを選択した場合: - 1 = 5 2 = 10 3 = 20 4 = 50
これは簡単だと思いました。expr $bal1 +5
それとも、awkコマンドとsedコマンドを使用して現在の値とユーザーが入力した値を抽出する必要がありますか?
実際には1つのファイルにコードがあります。
#!/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
答え1
上記の説明で説明したように5を追加するには、bal1
次のようにします。
bal1=$((bal1 + 5))
たとえば、
$ x=42
$ echo $x
42
$ x=$((x + 5))
$ echo $x
47
$