私はbashプログラミングに比較的慣れておらず、現在、簡単な計算機を作成しています。
浮動小数点数を使用して、そうであることを確認する必要があります。
checkNumbers関数があります:
function checkNumber {
regExp=[0-9]
if [ $testNo =~ $regExp ]
then
echo "That is a number!"
let check=1
else
echo "Damn! Not A Number!"
fi
}
ここで、ユーザーに次のような番号を入力させます。
while [ $check -eq 0]
do
echo "Please enter a number
read testNo
echo ""
checkNumber
done
これは機能しません、私はこのエラーを受け取ります:
./calculator.sh:39行目:[:=〜:二項演算子が必要です
39行目は次のとおりです。
if [ $testNo =~ $regExp ]
私は次のような正規表現をたくさん試しました:
^*[0-9]*$
と
^*[0-9]\.[0.9]*$
などなど。
また、私はチェックを実行する他の方法を結びました:
case $testNo
in
^*[0-9]*$) echo "That is a number!";;
*) echo "Error! Not a number!";;
esac
と
if [ $testNo = ^*[0-9]*$ ]
then
echo "etc etc"
else
echo "oops"
fi
浮動小数点数を処理するためにもこれが必要です。
誰かが私にこれについてどうやって行くのか教えてもらえますか?