The [[...]] command is used to evaluate conditional expressions with file attributes, strings, integers, and more. The basic format is:
where expression is the condition you are evaluating. There must be whitespace after the opening brackets, and before the closing brackets. Whitespace must also separate the expression arguments and operators. For example, these are incorrect:
[[$X=$Y]] [[$X = $Y]]
while this is correct:
[[ $X == $Y ]]
Notice that there is white space between $X, $Y, and the = operator.
If the expression evaluates to true, then a zero exit status is returned, otherwise the expression evaluates to false and a non-zero exit status is returned.
If you are familiar with the test and [...] ...