Teste para uma sequência de comprimento diferente de zero no Bash: [-n "$ var"] ou ["$ var"]
Eu vi scripts bash testarem seqüências de comprimento diferentes de zero de duas maneiras diferentes. A maioria dos scripts usa a opção -n:
#!/bin/bash
# With the -n option
if [ -n "$var" ]; then
# Do something when var is non-zero length
fi
Mas a opção -n não é realmente necessária:
# Without the -n option
if [ "$var" ]; then
# Do something when var is non-zero length
fi
Qual é o melhor caminho?
Da mesma forma, qual é a melhor maneira de testar comprimento zero:
if [ -z "$var" ]; then
# Do something when var is zero-length
fi
ou
if [ ! "$var" ]; then
# Do something when var is zero-length
fi