chain Fish commands via `&&` or `||`
In Bash/ZSH and other shells, I am used to using &&
and ||
.
Is there any equivalent in Fish?
Solution 1:
The logical operators you're used to, are supported since fish 3.0.0, released on 2018-12-28.
From the v3 release notes:
- fish now supports
&&
(likeand
),||
(likeor
), and!
(likenot
), for better migration from POSIX-compliant shells (#4620).
Solution 2:
Fish doesn't have a special syntax for a logical AND (&&
) or a logical OR (||
).
Instead, you can use the commands and
and or
, which verify the previous command's exit status and act accordingly:
command1
and command2
command1
or command2
Furthermore – just like in bash – you can use a semicolon ;
to execute two commands one after the other:
command1 ; command2
This allows using a more familiar syntax:
command1 ;and command2
command1 ;or command2
See http://fishshell.com/docs/current/tutorial.html#tut_combiners