[ colchetes são alias para o comando test e não há sinal > no comando de teste regular. Use [ $i -gt 3 ]
$ for i in {1..5}; do echo $i; if [ $i -gt 3 ] ; then echo $i; fi; done
1
2
3
4
4
5
5
Você também pode usar a expansão aritmética do bash (())
$ for i in {1..5}; do echo $i; if (( $i>3 )) ; then echo $i; fi; done
1
2
3
4
4
5
5
Você também pode usar expr , mas eu garanto 100% que você continuará esquecendo de \ escapar dos < e > sings, além de redirecionar a saída para /dev/null :
$> if expr 3 \> 2 > /dev/null ; then echo YES; else echo NO ; fi
YES
$> if expr 3 \< 2 > /dev/null ; then echo YES; else echo NO ; fi
NO