a/b*c with a*c/b.percent=$((count/total*100))percent=$((count*100/total))If integer division is performed before multiplication, the intermediate result will be truncated causing a loss of precision.
In this case, if count=1 and total=2, then
the problematic code results in percent=0, while the
correct code gives percent=50.
If you want and expect truncation you can ignore this message.
ShellCheck doesn't warn when b and c are
identical expressions, e.g. a/10*10, under the assumption
that the intent is to rounded to the nearest 10 rather than the no-op of
multiply by 1.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.