chain Fish comanda tramite `&&` o `||`


Risposte:


13

Gli operatori logici a cui sei abituato, sono supportati da fish 3.0.0, rilasciato il 28-12-2018.

Dalle note sulla versione v3 :

  • fish ora supporta &&(like and), ||(like or) e !(like not), per una migliore migrazione da shell compatibili con POSIX ( # 4620 ).

132

I pesci non hanno una sintassi speciale per un AND logico ( &&) o logico OR ( ||).

Invece, puoi usare i comandi ande or, che verificano lo stato di uscita del comando precedente e agire di conseguenza:

command1
and command2
command1
or command2

Inoltre - proprio come in bash - puoi usare un punto ;e virgola per eseguire due comandi uno dopo l'altro:

command1 ; command2

Ciò consente di utilizzare una sintassi più familiare:

command1 ;and command2
command1 ;or command2

Vedi http://fishshell.com/docs/current/tutorial.html#tut_combiners


4
C'è un problema github aperto per aggiungere il supporto per questa sintassi: && non funziona · Numero 150 · fish-shell / fish-shell
aboy021

20
This allows using a more familiar syntax:è molto soggettivo
Petr Peller,

1
;andè meno leggibile rispetto a &&come il punto e virgola suggerisce un'operazione logicamente disgiunta. È visivamente stonante.
Warlike Chimpanzee,

@Elliott Sono d'accordo, ma Fish non ti offre alcuna scelta.
Dennis,

1
notare però che nei pesci e conchiglie bourne, gli operatori AND e OR hanno lo stesso ordine, a differenza dei linguaggi basati su C: unix.stackexchange.com/a/88851/50703
balupton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.