Diferença entre '[[$ a -lt 2]]' e '(($ a 2))'

0

Existe alguma diferença significativa entre usar [[ $a -lt 2 ]] e (( $a < 2 )) ?

Por exemplo, um deles é mais rápido ou mais compatível com POSIX do que o outro?

    
por Alexej Magura 04.10.2016 / 22:52

1 resposta

5

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.

    
por 04.10.2016 / 23:12

Tags