Как правило, вы не можете сравнивать числа с плавающей точкой на равенство.Это потому, что двоичное представление десятичных чисел не является точным, и вы получаете ошибки округления.Это стандартный ответ, который даст вам большинство других.
В этом конкретном случае вам на самом деле не нужно сравнивать числа с плавающей запятой, потому что вы просто проверяете, представляет ли какой-то текст конкретное число.Поскольку вы находитесь в оболочке, вы можете либо использовать обычное сравнение строк с «0,000» (при условии, что ваши данные округлены таким образом), либо использовать регулярные выражения с grep / egrep.Что-то вроде
egrep -q '0(|\.0+)'
Будет соответствовать 0, 0,0, 0,00 и т. Д. И будет выходить, указывая на успех или неудачу, что можно использовать в операторе if окружения:
if cut and pipe soup | egrep ... ; then
...
fi