Bash 在bc结果上使用expr
我正在使用的以下代码抛出一个错误,如下所示Bash 在bc结果上使用expr,bash,shell,Bash,Shell,我正在使用的以下代码抛出一个错误,如下所示 CURRENT_FILE_SIZE="$(hdfs dfs -du -h /user/service-adh_dev/output.dat | awk -F ' ' {'print $1'})" PREVIOUS_FILE_SIZE="$(hdfs dfs -du -h /user/service-adh_dev/output2.dat | awk -F ' ' {'print $1'})" COUNT=`expr $CURRENT_FILE_SI
CURRENT_FILE_SIZE="$(hdfs dfs -du -h /user/service-adh_dev/output.dat | awk -F ' ' {'print $1'})"
PREVIOUS_FILE_SIZE="$(hdfs dfs -du -h /user/service-adh_dev/output2.dat | awk -F ' ' {'print $1'})"
COUNT=`expr $CURRENT_FILE_SIZE - $PREVIOUS_FILE_SIZE`
RESULT=`echo "$PREVIOUS_FILE_SIZE* 0.01" | bc -l`
DIFF=`expr $COUNT - $RESULT`
将错误作为expr:非整数参数抛出。
有人能帮我一下吗?发现答案expr仅适用于整数值运算。必须再次使用bc才能找到修改脚本的差异 DIFF=
echo“$COUNT-$RESULT”| bc-l
u可以这样写:
A=2
B=3
C=$(($A + $B))
echo $C
我认为这很方便您是否尝试回显这些值以了解bash认为它们是非整数的原因?但这适用于上面提到的整数值对于浮点值,您可以使用bc命令进行算术运算