TEST1=`echo $QUERY_DAYS3 | awk '{print $1}'`
echo $TEST1
TEST2=`echo $QUERY_DAYS3 | awk '{print $2}'`
echo $TEST2
mailx -s "Data Report" -r uname@host.com uname@host.com <<EOF
Error Percentage: $((100 * ($TEST2/ $TEST1)))
EOF
私のbashシェルスクリプトには、メールを送信する上記のコードがあります。しかし、メールをチェックするError Percentage
と、上記のコードで書かれているように書かれていることが常にわかります。乗除算式の評価ではありません。
上記のスクリプトを次のように実行しています-
sh -x test1.sh
メールで私はこのように受け取ります-
Error Percentage: $((100 * (183563 / 3793277)))
私は走っていSunOS
ます。
ここで使用する必要があるかもしれBack-Ticks
ませんか?
アップデート:-
現在使用している更新されたスクリプト-
TEST1=`echo $QUERY_DAYS3 | awk '{print $1}'`
echo $TEST1
TEST2=`echo $QUERY_DAYS3 | awk '{print $2}'`
echo $TEST2
mailx -s "Data Report" -r uname@host.com uname@host.com <<EOF
Error Percentage: $(( 100 * $TEST2 ) / $TEST1)
EOF
以下のように実行しています-
sh -c 'exec ./test.sh'
多くの人から与えられた提案を試した後。このエラーが発生しています-
./test.sh: command substitution: line 176: syntax error near unexpected token `/'
./test.sh: command substitution: line 176: `( 100 * $TEST2 ) / $TEST1'
私は今何をしているのですか?何かご意見は?
アップデート:-
変更を加えた後、動作を開始します-
Mismatch Percentage: $((( 100 * $TEST2 ) / $TEST1))
しかし、電子メールでは、取得したパーセンテージは、 1 桁に丸められるのではなく、どのよう4
に表示されるのではなく、1 つの数字のみに丸められました。4.34563235