que en vez reinventar la rueda, más bien puede resultar interesante esta solución, pues no es para nada compleja
y puede ser entendida en poco tiempo, (de hecho hasta hoy programe algo "serio" en bash).
Por otro lado, este script no es definitivo y supongo que se le pueden hacer muchas mejoras
así que serán muy interesantes sus comentarios al respecto.
Código: Seleccionar todo
#!/bin/bash
## pequeño script para formatear dispositivos USB de manera sencilla
## este script funciona para dispositivos con formato fat fat32
function cambiaNombreDispositivo(){
## esta funcion se encarga de cambiarle el nombre al dispositivo si lo deseamos.
echo digite el nombre que desea ponerle al dispositivo
read nombre
nombreDispositivo=$nombre
}
function formateo(){
## esta funcion se encarga de formatear el dispositivo.
echo acontinuacion digite la contraseña del superusuario para continuar
umount $puntoMontaje ## desmonta el dispositivo
mkfs.vfat -n $nombreDispositivo $puntoMontaje -I ## formatea con el nuevo nombre y el punto de montaje del dispositivo
}
echo conecte su llave o dispositivo usb al computador
puntoMontaje=$(mount | grep vfat | cut -c 1-8) ## obtiene el punto de montaje del dispositivo
nombreDispositivo=$(df -H | grep $puntoMontaje | cut -c 88-98) ## obtiene el nombre del dispositivo, si es que lo tiene
tamanioDispositivo=$(df -H | grep $puntoMontaje | cut -c 58-60) ## obtiene el tamanio del dispositivo en GB con potencias de 1000 y no 1024
echo el dispositivo que desea formatear se llama $nombreDispositivo y su tamanio es $tamanioDispositivo GB
## -ge mayor o igual que
## -gt mayor que
## -lt menor que
## -le menor o igual que
if [ $tamanioDispositivo -ge 16 ];then
echo su dispositivo es mas grande que 16 GB. Esta seguro de que desea formatearlo? escriba si o no
read escoja
if [ $escoja == si ]; then
## pasa a formatear la llave
cambiaNombreDispositivo ## llama a la funcion cambia nombre que asigna otra etiqueta al dispositivo
formateo ## llama a la funcion que formatea el dispositivo
echo su dispositivo ha sido formateado correctamente
exit
else
echo gracias por su tiempo
exit
fi
else
## formatea la llave
cambiaNombreDispositivo
formateo
echo su dispositivo se ha formateado correctamente
fi
Limitaciones conocidas:
1- solo lista dispositivos con formato fat
2- necesita permisos de superusuario para funcionar correctamente, pues emplea mkfs
Eso es todo por el momento, espero sea de provecho gente
