Desmontador de imágenes ISO

Nombre: umntiso
Autor: Luis Moreno Rodriguez
Lenguaje: Bash
Licencia: GPL

Detecta que dispositivos /dev/loop están montados y muestra un menú de dialogo para desmontar cualquier imagen ISO, o cualquier dispositivo loop que este siendo usado.

umntiso
#!/bin/bash

# AUTOR: Luis Moreno Rodriguez          2009

function umntiso () {
    if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
        echo -e "Dialog for umount any /dev/loop's devices. Usage 'umntiso'"
        return
    fi

#    if ! lsmod | grep loop &>/dev/null; then
#        echo "The loop module is not loaded, to load type 'modprobe loop'"; return
#    fi

    local NUM_MOUNTED=`cat /etc/mtab | grep /dev/loop | wc -l`
    if [ $NUM_MOUNTED -eq 0 ]; then echo "no found ISO files mounted"; return; fi

    local MOUNT_POINTS=`cat /etc/mtab | grep /dev/loop | cut -d ' ' -f 2`
    echo -e "********** Select the ISOs to umount **********\n"
    for i in $MOUNT_POINTS; do

        echo "Umount $i?"
        echo -n "[a]ll yes, [y]es, [N]o: "
        read OPTION

        case $OPTION in
        Y|y)    echo -ne "umounting $i... "
                if ! umount $i; then echo -e "ERROR!\n";
                else echo -e "done!\n"; rm -rf $i;
                fi;;

        A|a)    MOUNT_POINTS=`cat /etc/mtab | grep /dev/loop | cut  -d ' ' -f 2`
                for i in $MOUNT_POINTS; do
                    echo -ne "umounting $i... "
                    if ! umount $i; then echo -e "ERROR!\n";
                    else echo -e "done!\n"; rm -rf $i;
                    fi
                done
                break;;

        *)      echo;;
        esac
    done
}

umntiso $*