有关bash shell if statement的一个问题

有关bash shell if statement的一个问题:

我想请问为什么第一个版本的if-statement编译无误,而第二个版本的有错误。

版本1:

#!/bin/bash

for ((i=1;i<=500;i++)); 
do
    if ((i%7==0))
    #be careful with (( )),spacing and bracket important!
    then
        echo $i
    fi
done

版本2:

#!/bin/bash

for ((i=1;i<=500;i++)); 
do
    if [ i%7==0 ]
    #be careful with (( )),spacing and bracket important!
    then
        echo $i
    fi
done