2016-11-19 4 views
3

オペレーティングシステムの基本クラスのVimエディタでbashスクリプトを作成していますが、変数を一緒に追加できず、他の変数と合計します。私はこれを行うために多くのフォーマットを試しましたが、それぞれの値または ":not found"エラーを出力します。ここで私が今までに持っているコードを示します。各テストの値の合計を変数 'finalgrade'に設定し、出力を出力したいだけです。bashスクリプトに数値を追加すると "not found"と表示されます

echo "Enter assignment mark (0 to 40): " ; read assignment 
echo "Enter test1 mark (0 to 15): " ; read test1 
echo "Enter test2 mark (0 to 15): " ; read test2 
echo "Enter final exam mark (0 to 30): " ; read exam 
finalgrade = $assignment + $test1 + $test2 + $exam 
echo "Your final grade is : "$finalgrade 

これは私がそれを実行したときに、私は何を得るの一例である:

$ sh myscript 
Enter assignment mark (0 to 40): 
1 
Enter test1 mark (0 to 15): 
2 
Enter test2 mark (0 to 15): 
3 
Enter final exam mark (0 to 30): 
4 
myscript: 5: myscript: finalgrade: not found 
Your final grade is : 

私が代わりに最後の行があることが予想:

Your final grade is : 10 

おかげで、

答えて

3

このライン

finalgrade = $assignment + $test1 + $test2 + $exam 

は計算を行いません。グーグル "bashの数学"は、これを行うさまざまな方法を提供しますが、ここでは1つです。

finalgrade=$((assignment + test1 + test2 + exam)) 

それはあなたの実際の問題は、あなたがbashのではなく、割り当てのコマンド「finalgrade」(見つからない)としてこれを解釈する原因割り当て=の横のスペースを持っていることであることは注目に値します。変数の割り当てには、=の横にスペースを入れてはいけません。

関連する問題