问题
I'm having a syntax error with this if block and can't I haven't been able to correct it
if [[ $X >= 100] || [$Y >= 100 ]]
then
echo "..."
fi
I've rewrote this, but haven't had any luck on finding the correct syntax. Thanks in advance!
回答1:
This is a syntax error, you should try :
if ((X >= 100 || Y >= 100 ))
then
echo "..."
fi
NOTE
- with this syntax, no need to remember
-geand such. This is just like arithmetic ((...))is an arithmetic command, which returns an exit status of 0 if the expression is nonzero, or 1 if the expression is zero. Also used as a synonym forlet, if side effects (assignments) are needed. See http://mywiki.wooledge.org/ArithmeticExpression
回答2:
What you're looking for is this :
if [[ $X -ge 100 || $Y -ge 100 ]];
then
echo "..."
fi
回答3:
Your if is fine. Your [[ command is screwed up.
if [[ $X -ge 100 || $Y -ge 100 ]]
回答4:
You seem to be trying to nest [...] expressions, which is not something you can do in bash. The [[ ... ]] expression is an entirely separate construct available in bash. I won't bother posting a correct expression, as the other answers have that well covered.
来源:https://stackoverflow.com/questions/14328606/bash-if-block-syntax