Segundo todas as vias de informação, test -n verifica se a variável é diferente de zero.
Porém no script abaixo se eu apenas teclar "Enter" sem digitar nada, ele printa "Olá , tudo bem?" ao invés de "Você não digitou seu nome. Script encerrado!"
--
#!/bin/bash
echo "Digite seu nome..."
read NOME
if [ -n $NOME ] ; then
echo "Olá $NOME, tudo bem?"
else
echo "Você não digitou seu nome. Script encerrado!"