【发布时间】:2012-03-13 14:17:56
【问题描述】:
我希望在我的 bash 脚本中有一个 if 语句:
if [[ "$v" == "A" || my_func $x $y ]] ; then
但我收到错误“预期的条件二元运算符”。 我尝试在对 my_func 的调用中为参数加上引号,但仍然没有好处。尝试玩 eval,但也没有帮助。
感谢您的帮助。
【问题讨论】:
-
[[ ]]不是 if 语法的一部分;if接受一个命令,而[[恰好是一个可以充当命令的内置函数,但并非所有传递给if的东西都需要在[[ ]]内——只有测试和非数字比较(数字比较应该使用(( )))。 -
我不明白你为什么在这里使用 [[ 而不是 [。你可以简单地做: if [ "$v" = A ] ||我的函数 $x $y;然后...甚至'test $v = A || my_func $x $y && ...'