Использование expr над результатом bc - PullRequest
0 голосов
/ 11 октября 2019

Следующий код, с которым я работал, выдает ошибку следующим образом

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: нецелочисленный аргумент. Может кто-нибудь помочь мне в этом?

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

вы можете написать так:

A=2
B=3
C=$(($A + $B))
echo $C

я думаю, что это удобно

0 голосов
/ 11 октября 2019

Найдено, что выражение expr подходит только для целочисленных операций. Bc необходимо использовать снова, чтобы найти разницу, для которой измененный скрипт имеет значение DIFF = echo "$COUNT - $RESULT"|bc -l

...