自动挂载.ISO镜像的简单脚本
# !/bin/bash
############################################################################
#
# AutoMountISO:自动挂载/卸载ISO镜像
# Author:whodare#hotmail.com
#
#
# 功能 1.对于.ISO文件自动挂载,并自动开启文件浏览器浏览其内容
# 2.对于挂载点,自动完成卸载,并在必要时自动删除挂载点
#
# 整个脚本所完成的功能不需要用户的介入
#
###########################################################################
################################关键变量####################################
MOUNT_POINT = “” # 挂载点
ISO_PATH = “” # ISO镜像的路径
CMD = “” # 挂载?卸载
###########################################################################
#根据操作对象的类型判断是挂载还是卸载
function judge()
{
if [ - d $ 1 ]
then # 对象是目录,则进行卸载
{
CMD = “ umount “
MOUNT_POINT = $ 1
}
else # 对象是文件,则进行挂载
{
# ISO_NAME=`basename $1`
# TYPE=${ISO_NAME##*.}
CMD = “ mount “
ISO_PATH = $ 1
}
fi
}
function do_umount
{
gksudo “ $CMD $MOUNT_POINT “ # 卸载
gksudo “ rm -rf $MOUNT_POINT “ # 删除挂载点
}
function do_mount
{
if mount | grep $ISO_PATH # #镜像已经被挂载过,则自动卸载之
then
{
zenity entity -- error -- title = “ 提示 “ -- text = “ 文件$ISO_NAME的重复挂载被视为自动卸载 “
gksudo “ umount $ISO_PATH “
exit 0
}
else
{
count = 0 ;
# 寻找可用的挂载点
while df | grep - q / media / cdrom $count 2 >/ dev / null
do
let count = $count + 1
done
# 创建挂载点
MOUNT_POINT = “ /media/cdrom$count “
if [ ! - d $MOUNT_POINT ]
then
mkdir - p $MOUNT_POINT
fi
# 挂载
gksudo “ $CMD -t iso9660,udf -o ro,loop,utf8 $ISO_PATH $MOUNT_POINT “
# 在文件管理器中浏览镜像的内容
nautilus $MOUNT_POINT
}
fi
}
judge “ $1 “
if [ $CMD = “ umount “ ]
then
do_umount
else
do_mount
fi
exit 0
还没有评论,来说两句吧...