#!/bin/bash DIR_MOUNT="/tmp" UMOUNT_MODE='no' VERBOSE='no' usage() { echo "Starting ext[2|3|4] mounter" echo "Usage :" echo "$0 [Param] [Option]" echo "Param :" echo " -d dev name Mount device" echo " -u dev name Umount device" echo "Option" echo " -v Verbose mode" exit } while getopts d:u:hv option do case $option in # Dev name d) DEV_NAME=$OPTARG ;; # Umount device u) DEV_NAME=$OPTARG UMOUNT_MODE='yes' ;; # Verbose mode v) VERBOSE='yes' ;; # Usage h) usage ;; esac done # All fields must be filled if [ -z "$DEV_NAME" ] then usage exit fi # Test if mount dir exists if [ ! -e "/dev/$DEV_NAME" ] then echo "« /dev/$DEV_NAME » not exists" exit fi # Set variable DEST_DIR="$DIR_MOUNT/$DEV_NAME" DEVICE="/dev/$DEV_NAME" # Umount ? if [ $UMOUNT_MODE == 'yes' ] then echo "Umounting « $DEST_DIR »" if umount $DEST_DIR; then echo "Ok" rmdir $DEST_DIR else echo "Error while unmounting device" fi exit else # Test if mount dir exists if [ ! -e $DEST_DIR ] then echo "Creating" if ! mkdir $DEST_DIR; then echo "Unable to create $DEST_DIR" exit fi fi echo "Mounting « $DEVICE » device in « $DEST_DIR »" # Verbose mode ? if [ $VERBOSE == 'yes' ] then MOUNT_CMD="fuse-ext2 $DEVICE $DEST_DIR" else MOUNT_CMD="fuse-ext2 $DEVICE $DEST_DIR &> /dev/null" fi # Mount device if eval $MOUNT_CMD; then echo "Device « $DEVICE » mounted in « $DEST_DIR »" else echo "Error while mounting device « $DEVICE » mounted in « $DEST_DIR »" fi fi