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 Shell 脚本中,我有上面的代码,我从中发送电子邮件。但是当我检查我的电子邮件时,我总是看到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))
但是在电子邮件中,我得到的百分比被四舍五入到只有一个数字,4
而不是显示为4.34563235
如何获得完整的数字而不是四舍五入到一位数字。?