通过`&&`或`||`链接Fish命令


Answers:


13

从2018年12月28日发布的fish 3.0.0开始支持您习惯的逻辑运算符。

v3发行说明

  • fish现在支持&&(如and),||(如or)和!(如not),以便更好地从POSIX兼容的外壳(#4620)中进行迁移。

132

Fish对于逻辑AND(&&)或逻辑OR(||)没有特殊的语法。

相反,你可以使用的命令andor,相应地验证以前的命令的退出状态和行为:

command1
and command2
command1
or command2

此外,就像在bash中一样,您可以使用分号;来依次执行两个命令:

command1 ; command2

这允许使用更熟悉的语法:

command1 ;and command2
command1 ;or command2

请参阅http://fishshell.com/docs/current/tutorial.html#tut_combiners


4
有一个开放的github问题来添加对此语法的支持:&&不起作用·问题#150·fish-shell / fish-shell
aboy021 '16

20
This allows using a more familiar syntax:非常主观
Petr Peller

1
;and可读性不如&&分号表示逻辑上不相交的运算。这在视觉上令人不快。
好战的黑猩猩

@Elliott我同意,但是Fish不能给您选择。
丹尼斯

1
一定要注意,尽管在鱼和波恩壳中,AND和OR运算符具有相同的顺序,这与基于C的语言不同:unix.stackexchange.com/a/88851/50703
balupton
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.