A maneira que eu implementei foi com uma declaração if
com uma verificação de código de erro. O [ -d ...]
gerará um erro se mais de um parâmetro (nome da pasta) for passado quando o caractere curinga for explodido ou se os arquivos não existirem. O ls
no else
nos permite saber qual caso nos trouxe até aqui (se existir várias pastas, o código de retorno será 0
)
if [ -d ${ID}* ] 2>/dev/null; then
echo "Folder exists and is unique"
else
ls ${ID}* >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "No folder exists starting with ${ID}"
else
echo "More than one folder starting with ${ID}"
fi
fi