É um operador de controle
De bash man :
The control operators && and || denote AND lists and OR lists, respectively. An AND list has the formUm operador de controle é
command1 && command2
command2 is executed if, and only if, command1 returns an exit status of zero. [..cut..] The return status of AND and OR lists is the exit status of the last command executed in the list.
A token that performs a control function. It is one of the following symbols: || & && ; ;; ( ) |
Portanto, neste caso, não leia &&
como um operador booleano.
Então agora você sabe quando exit 1
é executado - somente no sucesso do comando anterior (se o status de saída for zero).
Veja esta serverfault asnswer para explicação de &&
em 3 contextos diferentes no Bash. Útil para aprender distinções entre eles.