Código
#!/usr/bin/env bash # Operaciones con archivos # Saber si es archivo, folder, vacio, ejecutable, de lectura... echo "Dame el nombre de un archivo" read ENTRADA if [ -s $ENTRADA ]; then echo "$ENTRADA es un archivo y no esta vacio" if [ -x $ENTRADA ]; then echo "$ENTRADA es ejecutable" fi if [ -r $ENTRADA ]; then echo "$ENTRADA es de lectura" fi if [ -w $ENTRADA ]; then echo "$ENTRADA es de escritura" fi elif [ -f $ENTRADA ]; then echo "$ENTRADA es un archivo y no directorio, pero esta vacio" elif [ -d $ENTRADA ]; then echo "$ENTRADA es una carpeta" else echo "$ENTRADA no existe!" fi
Si pongo un archivo o carpeta, siempre me dirige al primer IF, como si fuera un archivo no vacío.