自动挂载.ISO镜像的简单脚本

这是一个用于自动挂载和卸载ISO镜像的bash脚本。它能根据操作的对象(文件或目录)决定是挂载还是卸载,并且在挂载后会自动打开文件浏览器浏览内容。脚本还包括了卸载后删除挂载点的功能,整个过程无需用户干预。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



#!/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 -/media/cdrom$count 2>/dev/null 
    
do
        let count
=$count+1
    done

    
#创建挂载点
    MOUNT_POINT="/media/cdrom$count"

    
if [ ! -$MOUNT_POINT ]
    then
        
mkdir -$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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值