#!/bin/bash #File systems mounter 1.0.1 #Author: Volodymyr M. Lisivka #License: GPL v2 if [ "x$1" == "x" ] then cat </dev/null 2>&1 then #EXT2/EXT3 filesystem LABEL=`LANG=C tune2fs -l "$DEVICE" | LANG=C grep "Filesystem volume name:" | LANG=C sed 's/^.*: \+//'` elif reiserfstune "$DEVICE" >/dev/null 2>&1 then #Reiserfs filesystem LABEL=`LANG=C reiserfstune "$DEVICE" | LANG=C grep "LABEL:" | LANG=C sed 's/^.*: \+//'` else echo "ERROR: Unknown filesystem on $DEVICE" continue fi if [ "x$LABEL" == "x" -o "x$LABEL" == "x/" -o "x$LABEL" == "x" ] then #Label is empty, using device number as label LABEL="`echo $DEVICE|grep -o '[0-9]\+'`" fi if mount -l|fgrep "$DEVICE " >/dev/null then echo "Partition \"$LABEL\" ($DEVICE) is already mounted." mount -l|fgrep "$DEVICE " else DISK=`echo "$DEVICE"| tr -d '0-9'` HDID=`hdparm -Iq "$DISK" |grep "Number:"|sed 's/^.*:[[:space:]]\+//g'|xargs echo|tr ' :,\\;&+{}()[]\`"'"'" '_'` DIR="/mnt/$HDID/$LABEL" if mount -l|fgrep " $DIR " >/dev/null then echo "WARNING: Directory \"$LABEL\" is already mounted. (Same labels?)" LABEL="`echo $DEVICE|grep -o '[0-9]\+'`" DIR="/mnt/$HDID/$LABEL" fi echo "Mounting $DEVICE to $DIR" if [ ! -d "$DIR" ] then mkdir -p "$DIR" fi if [ "$CHECK_FS" ] then echo "Checking $LABEL ($DEVICE)..." fsck -a "$DEVICE" fi $COMMAND $MOUNT_OPTIONS $DEVICE $DIR fi echo done