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.