commandes en chaîne de poisson via `&&` ou `||`


Réponses:


13

Les opérateurs logiques auxquels vous êtes habitué sont pris en charge depuis fish 3.0.0, publié le 2018-12-28.

À partir des notes de publication de la v3 :

  • les poissons prennent désormais en charge &&(comme and), ||(comme or) et !(comme not) pour une meilleure migration des coquilles compatibles POSIX ( n ° 4620 ).

132

Fish n'a pas de syntaxe spéciale pour un ET logique ( &&) ou un OU logique ( ||).

À la place, vous pouvez utiliser les commandes andet orqui vérifient l’état de sortie de la commande précédente et agissent en conséquence:

command1
and command2
command1
or command2

De plus, comme dans bash, vous pouvez utiliser un point-virgule ;pour exécuter deux commandes l'une après l'autre:

command1 ; command2

Cela permet d'utiliser une syntaxe plus familière:

command1 ;and command2
command1 ;or command2

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


4
Il y a un problème ouvert dans github qui ajoute un support pour cette syntaxe: && ne fonctionne pas · Issue # 150 · fish-shell / fish-shell
aboy021

20
This allows using a more familiar syntax:est très subjectif
Petr Peller

1
;andest moins lisible que &&le point-virgule suggère une opération logiquement disjointe. C'est discordant visuellement.
Chipanzé guerrier

@ Elliott Je suis d'accord, mais le poisson ne vous donne pas le choix.
Dennis

1
Prenez note cependant que dans des coquilles de poissons et bourne, ET et OU ont le même ordre, à la différence des langues à base C: unix.stackexchange.com/a/88851/50703
balupton
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.