照原样,下面的代码是无效的,因为括号不能这样使用。如果我们删除它们,它运行良好,并输出:
true
true
Run Code Online (Sandbox Code Playgroud)
代码:
#!/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
Run Code Online (Sandbox Code Playgroud)
如何获得括号指示的功能?
所需的输出:
true
false
Run Code Online (Sandbox Code Playgroud)
从鱼教程:
对于更复杂的条件,请使用 begin 和 end 将它们的一部分分组。
对于一个更简单的示例,您可以从 stackoverflow 中查看此答案。
对于您的代码,您只需替换(
withbegin ;
和)
with ; end
。
#!/usr/bin/fish
if begin ; false ; and true ; end ; or true
echo "true"
else
echo "false"
end
if false; and begin ; true ; or true ; end
echo "true"
else
echo "false"
end
Run Code Online (Sandbox Code Playgroud)