É um equivalente do comando test
. (Veja info test
.) Geralmente você usa em scripts em expressões condicionais como:
if [ -n "$1" ]; then
echo $1
fi
O colchete de fechamento é necessário para incluir o condicional. (Bem, parece que é necessário apenas para parecer mais agradável no código. Alguém sabe alguma outra razão prática para isso?)