Respostas:
Os operadores lógicos que você está acostumado, são suportados desde o peixe 3.0.0, lançado em 2018-12-28.
De notas de lançamento da v3 :
- peixe agora suporta
&&
(gostarand
)||
(gostaror
) e!
(gostarnot
), para melhor migração de shells compatíveis com POSIX ( # 4620 ).
Fish não tem uma sintaxe especial para um AND lógico ( &&
) ou um OR lógico ( ||
).
Em vez disso, você pode usar os comandos and
e or
, que verifica o status de saída do comando anterior e age de acordo:
command1
and command2
command1
or command2
Além disso - assim como no bash - você pode usar um ponto-e-vírgula ;
para executar dois comandos, um após o outro:
command1 ; command2
Isso permite usar uma sintaxe mais familiar:
command1 ;and command2
command1 ;or command2
Vejo http://fishshell.com/docs/current/tutorial.html#tut_combiners
This allows using a more familiar syntax:
é muito subjetivo
;and
é menos legível do que &&
como o ponto-e-vírgula sugere uma operação logicamente separada. É visualmente chocante.