Verkettung von Fischbefehlen über "&" oder "||"


Antworten:


13

Die von Ihnen gewohnten logischen Operatoren werden seit fish 3.0.0 unterstützt, das am 28.12.2018 veröffentlicht wurde.

Aus den Versionshinweisen zu Version 3 :

  • fish unterstützt jetzt &&(like and), ||(like or) und !(like not) für eine bessere Migration von POSIX-kompatiblen Shells ( # 4620 ).

132

Fish hat keine spezielle Syntax für ein logisches AND ( &&) oder ein logisches OR ( ||).

Stattdessen können Sie die Befehle andund verwenden or, die den Exit-Status des vorherigen Befehls überprüfen und entsprechend handeln:

command1
and command2
command1
or command2

Außerdem können Sie - genau wie in bash - mit einem Semikolon ;zwei Befehle nacheinander ausführen:

command1 ; command2

Dies ermöglicht die Verwendung einer vertrauteren Syntax:

command1 ;and command2
command1 ;or command2

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


4
Es gibt ein offenes Github-Problem, um Unterstützung für diese Syntax hinzuzufügen: && funktioniert nicht ·
aboy021

20
This allows using a more familiar syntax:ist sehr subjektiv
Petr Peller

1
;andist weniger lesbar als &&wenn das Semikolon eine logisch getrennte Operation nahelegt. Es ist optisch irritierend.
Kriegerischer Schimpanse

@Elliott Ich stimme zu, aber Fish gibt dir keine Wahl.
Dennis

1
Beachten Sie jedoch, dass AND- und OR-Operatoren in Fisch- und Borowski-Shells im Gegensatz zu C-basierten Sprachen dieselbe Reihenfolge haben: unix.stackexchange.com/a/88851/50703
balupton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.