zsh で
$ a=1.0; if [[ $a -gt 0.05 ]] && [[ $a -lt 2.0 ]]; then; 処理; fi
は動くのに、
$ a=1.0; if [[ $a -gt 0.05 -a $a -lt 2.0 ]]; then; 処理; fi
では
zsh: condition expected: $a
となり動きません。

なぜでしょうか。