照原样,下面的代码是无效的,因为括号不能那样使用。如果我们删除它们,它运行良好,并输出:
true
true
代码:
#!/usr/bin/fish
if ( false ; and true ) ; or true
echo "true"
else
echo "false"
end
if false ; and ( true ; or true )
echo "true"
else
echo "false"
end
如何获得括号中指示的功能?
所需的输出:
true
false
您也可以将
begin
andend
用于条件:从鱼教程:
对于一个更简单的示例,您可以查看来自 stackoverflow的这个答案。
对于您的代码,您只需替换
(
withbegin ;
和)
with; end
。替代解决方案:将条件链的一部分外包给一个函数
像这样:
如果条件本身是复杂的命令,这是最有意义的。