Solución:
if [ -z "$(ls -A /path/to/dir)" ]; then
echo "Empty"
else
echo "Not Empty"
fi
Además, sería bueno comprobar si el directorio existe antes.
No es necesario contar nada ni bolas de concha. También puedes usar read
en combinación con find
. Si find
la salida está vacía, volverás false
:
if find /some/dir -mindepth 1 | read; then
echo "dir not empty"
else
echo "dir empty"
fi
Debe ser portátil.
if [ -n "$(find "$DIR_TO_CHECK" -maxdepth 0 -type d -empty 2>/dev/null)" ]; then
echo "Empty directory"
else
echo "Not empty or NOT a directory"
fi
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)