É porque o valor de retorno de (( expression ))
não é usado para indicação de erro. Na% man_de% manpage:
((expression))
The expression is evaluated according to the rules described below under ARITHMETIC EVALUATION. If the value of the expression is non-zero, the return status is 0; otherwise the return status is 1. This is exactly equivalent to let "expression".
Portanto, no seu caso, como o valor da expressão é zero, o status de retorno de bash
é 1.