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.