-2

スクリプトから入力を求められたときに、何も入力せずに単に Return キーを押すと、エラーが発生します。これを修正するにはどうすればよいですか?

スクリプトは次のとおりです。

 #!/bin/bash

   SUM=0
   NUM=0

   while true
   do echo -n "Pruefungspunkte eingeben ('q' zum Beenden): "
      read SCORE
      if test "$SCORE" == "q"
      then echo "Durchschnittspunktzahl: $AVERAGE."
           break
      else SUM=`expr $SUM + $SCORE`
           NUM=`expr $NUM + 1`
           AVERAGE=`expr $SUM / $NUM`
      fi
   done
4

3 に答える 3

1

事前に初期化$SCOREするか、q場合によっては空の入力を処理します。

于 2013-06-15T11:46:41.393 に答える
1
[[ -z "$SCORE" ]] && echo "\$SCORE is zero, e.g. \"\"" 

これは、変数 SCORE が空の文字列かどうかをテストします。

AVERAGE=0また、最初に設定する必要があります。

于 2013-06-15T11:50:11.573 に答える