Comandos da cadeia de peixes via `&&` ou `||`


Respostas:


8

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 && (gostar and ) || (gostar or ) e ! (gostar not ), para melhor migração de shells compatíveis com POSIX ( # 4620 ).

127

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


4
Há um problema no github aberto para adicionar suporte a esta sintaxe: & amp; & amp; não funciona · Edição # 150 · fish-shell / fish-shell
aboy021

20
This allows using a more familiar syntax: é muito subjetivo
Petr Peller

1
;and é menos legível do que && como o ponto-e-vírgula sugere uma operação logicamente separada. É visualmente chocante.
Clever Little Monkey

@Elliott Eu concordo, mas Fish não lhe dá uma escolha.
Dennis

1
note que em shells de peixe e bourne, os operadores AND e OR têm a mesma ordem, ao contrário das linguagens baseadas em C: unix.stackexchange.com/a/88851/50703
balupton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.