「整数式が必要です」エラー

「整数式が必要です」エラー

次のスクリプトを実行しています。

#!/bin/bash
# This script acts as a simple calculator for add, subtract, multiply and divide.
echo "Kindly ENTER 'a' to select for addition"
echo "Kindly ENTER 's' to select for subtraction"
echo "Kindly ENTER 'm' to select for multiplication"
echo "Kindly ENTER 'd' to select for division"
read oper
echo "Please ENTER any number of your choice"
read no1
echo "Please ENTER another number of your choice"
read no2
if [ $oper -eq a ]; then 
echo "Your addition result is: $(($no1 + $no2))" 
elif [ $oper -eq s ]; then 
echo "Your subtraction result is: $(($no1 - $no2))"
elif [ $oper -eq m ]; then 
echo "Your multiplication result is: $(($no1 * $no2))"
elif [ $oper -eq d ]; then 
echo "Your division result is: $(($no1 / $no2))"
else echo "Your selection from the begining was incorrect"
fi

エラー/出力は次のとおりです。

./test2.sh: line 12: [: m: integer expression expected
./test2.sh: line 13: [: m: integer expression expected
./test2.sh: line 14: [: m: integer expression expected
./test2.sh: line 15: [: m: integer expression expected
Your selection from the begining was incorrect

理由は何ですか?

ベストアンサー1

この-eq演算子は、整数値に関連付けられた関係演算子です。これらの演算子は、値が整数でない限り、文字列値では機能しません。

したがって、=2つの文字列オペランドの値が同じであることを確認するには、whichを使用します。

おすすめ記事