Nem é compatível com POSIX. Em um shell POSIX, você pode usar o comando [ "$a" -lt 2 ]
ou a expressão $(( a < 2 ))
.
Em bash
, o primeiro é simplesmente o comando condicional que suporta um superconjunto de expressões condicionais que [
suporta, e o último é um comando independente que sai com status 0 se a expressão aritmética incluída for diferente de zero, ou 1 caso contrário. Além de legibilidade, não há diferença significativa entre os dois quando usado corretamente.