[ "$var" ]
é equivalente a [ -n "$var" ]
no bash e na maioria dos shells hoje em dia. Em outros shells antigos, eles devem ser equivalentes, mas sofrem de diferentes bugs para alguns valores especiais de "$ var" como =
, (
ou !
.
Acho [ -n "$var" ]
mais legível e é o pingente de [ -z "$var" ]
.
[[ -n $var ]]
é o mesmo que [[ $var ]]
em todas as shells onde a sintaxe do ksh não padrão é implementada.
test "x$var" != x
seria o mais confiável se você quiser ser portável para shells muito antigos.