我的bash脚本中有以下代码:
if [[ "$USE_NEW" == "true" ]]; then
echo "Forcing usage of NEW build script"
./android/build/build.new.sh $@
elif [[ $MAJOR > 4 || ($MAJOR = 4 && $MINOR >= 2) ]]; then
echo "Version greater than or equal to 4.2.x.x, running NEW build script"
./android/build/build.new.sh $@
else
echo "Version less than 4.2.x.x, running LEGACY build script"
#./android/build/build.legacy.sh $@
fi
我收到错误:
line 149: expected `)'
第149行恰好是上面示例中包含第一个elif
的行。我不太了解bash脚本,我无法通过Google找到任何可以帮助我找出我做错的事情。任何人都可以帮助纠正我的bash脚本吗?
答案 0 :(得分:4)
将您的第二个条件更改为:
[[ "$MAJOR" -gt 4 || ( "$MAJOR" -eq 4 && "$MINOR" -ge 2 ) ]]
编辑:或更好:
(( MAJOR > 4 || ( MAJOR == 4 && MINOR >= 2) ))