Linuxスクリプトで電卓を作成するには?

Linuxスクリプトで電卓を作成するには?

電卓を作成しようとしています。

echo "What is your number?"
read n1 

echo "what is your second number?"
read n2

echo "what do you want to do?"
echo "1. add"
echo "2. subtract"
echo "3. divide"
echo "4. multiply"
read ans


if 
ans=$(( $n1+$n2 )); then
echo $ans

elif
ans=$(( $n1-$n2 )); then
echo $ans

elif
ans=$(( $n1/$n2 )); then
echo $ans

elif
ans=$(( $n1*$n2 )); then
echo $ans

else

ただし、文字を挿入すると0が表示されます。どのように改善できますか?時には間違った答えを与えるかもしれません。

ベストアンサー1

以下を試してくださいwhile loop

input="yes"
while [[ $input = "yes" ]]
do

    PS3="Press 1 for Addition, 2 for subtraction, 3 for multiplication and 4 for division: "
    select math in Addition Subtraction Multiplication Division
    do
        case "$math" in
        Addition)
            echo "Enter first no:"
            read num1
            echo "Enter second no:"
            read num2
            result=`expr $num1 + $num2`
            echo Answer: $result
            break
        ;;
        Subtraction)
            echo "Enter first no:"
            read num1
            echo "Enter second no:"
            read num2
            result=`expr $num1 - $num2`
            echo Answer: $result
            break
        ;;
        Multiplication)
            echo "Enter first no:"
            read num1
            echo "Enter second no:"
            read num2
            result=`expr $num1 * $num2`
            echo Answer: $result
            break
        ;;
        Division)
            echo "Enter first no:"
            read num1
            echo "Enter second no:"
            read num2
            result=$(expr "scale=2; $num1/$num2" | bc)
            echo Answer = $result
            break
        ;;
        *)
            echo Choose 1 to 4 only!!!!
            break
        ;;
    esac
    done

done

おすすめ記事