android 6 mount iso,GMountISO V0.6,还是写着玩的用来在gnome环境里挂载iso的短脚本,打包成deb...

#!/bin/bash

##################################################################################

#

#    GMountISO 一个挂载iso文件的小脚本

#     作者:xiaosilent

#    Email:xiaosilent@gmail.com

#     版本:0.6#     依赖:zenity

#     用法:

#1,图形界面下,在iso文件上右击选择打开方式,在命令栏里找到GMountISO,启动脚本

#2.1终端下,直接执行脚本,和图形界面下一样

#2.2终端下,gmountiso iso_path mount_path 直接完成挂载

#

##################################################################################

################### 定义变量 ##########################################

ISO_PATH=$1#iso文件路径,从第一个参数里获取

MOUNTPOINT=$2#挂载点,第二个参数

CHOSED_FUNCTION=""#功能选择,挂载/卸载

ISMOUNTED=""#挂载点是否已经被占用

################### 一些功能模块 #######################################

###功能选择 挂载/卸载

function choosefunction(){

CHOSED_FUNCTION=`zenity --title="选择要执行的操作"--list --width=100--radiolist --column="是否选中"--column="操作类型"TRUE"挂载新卷"FALSE"卸载旧卷"`

if["$?" -eq "1"]then

echo"没有选择,直接退出"exit0fi

}

###获取ISO文件的路径

function getISOPath(){

if["$ISO_PATH" = ""]#命令行参数为空

then

ISO_PATH=`zenity --file-selection --title"选择要挂载的ISO文件"--filename="~"`    #弹出文件选择对话框

if["$ISO_PATH" = ""]#从文件对话框"取消",给出提示信息,程序退出。

then

zenity --error --title="错误信息"--text="您没有指定要挂载的ISO文件!"exit1fi

fi

if[`file $ISO_PATH | grep "ISO 9660" | wc -c` -eq "0"]then

zenity --error --title="错误信息"--text="读取ISO文件出错,请确认文件存在且是标准的ISO格式"exit1fi

}

###获取挂载点路径

function getMountPoint(){

if["$MOUNTPOINT" = ""]#没有从命令行里制定挂载路径

then

MOUNTPOINT=`zenity --file-selection --directory --title="请选择ISO文件挂载目录"--filename="/media/iso"`

if["$MOUNTPOINT" = ""]#选择了"取消",给出提示信息,程序退出。

then

zenity --error --title="错误信息"--text="您没有指定挂载目录"exit1fi

fi

}

###检测挂载点是否存在

function checkMountPoint_Exist(){

if[! -e $MOUNTPOINT]#监测挂载点是否存在

then #挂载点 不存在

zenity --error --title="错误信息"--text="挂载目录$MOUNTPOINT不存在"exit1fi

}

###检测所指定的挂载点是否为目录

function checkMountPoint_Directory(){

if[! -d $MOUNTPOINT]#如果挂载点不是一个目录

then

enity --error --title="错误信息"--text="挂载目录$MOUNTPOINT不是目录"exit1fi

}

###检测指定的挂载点是否已经被使用

function checkMountPoint_Mounted(){

ISMOUNTED=`grep $MOUNTPOINT /etc/mtab | wc -c`

if["$ISMOUNTED" -gt "0"]then

ISMOUNTED="TRUE"else

ISMOUNTED="FALSE"fi

}

###执行 卸载 的操作

function doUMount(){

if["$ISMOUNTED" = "TRUE"]then

zenity --warning --title="确认卸载"--text="即将卸载$MOUNTPOINT下的文件卷。\n\n在确认卸载以前,请确认该卸载操作是安全的!\n\n是否确定要进行卸载?"if[$? -eq 1]then

exit0else

gksu umount $MOUNTPOINT  ##gksu在图形界面下切换到超级用户。

checkMountPoint_Mounted

if["$ISMOUNTED" = "TRUE"]then

zenity --error --title="卸载失败"--text="设备忙,或其他原因,卸载失败!"exit1else

if["$CHOSED_FUNCTION" = "挂载新卷"]then

zenity --info --title="成功卸载"--text="原来的卷已经成功卸载,即将开始新卷的挂载操作!"else

zenity --info --title="成功卸载"--text="挂载到$MOUNTPOINT的卷已经成功卸载!"exit0fi

fi

fi

fi

}

###执行 挂载 的操作

function doMount(){

gksu"mount $ISO_PATH $MOUNTPOINT -t iso9660 -o loop,utf8"#gksu在图形界面下切换到超级用户。

checkMountPoint_Mounted

if["$ISMOUNTED" = "TRUE"]then

zenity --info --title="挂载成功"--text="文件$ISO_PATH已经被成功挂载到$MOUNTPOINT!\n\n程序将自动启动浏览器打开该目录!"nautilus $MOUNTPOINT    #启动浏览器浏览新挂载的卷

else

zenity --error --title="挂载失败"--text="在把文件$ISO_PATH挂载到$MOUNTPOINT时失败!"fi

exit0}

################### 主程序  ####################

choosefunction

if["$CHOSED_FUNCTION" = "卸载旧卷"]#######卸载旧卷

then

getMountPoint

checkMountPoint_Exist

checkMountPoint_Directory

checkMountPoint_Mounted

if["$ISMOUNTED" = "TRUE"]########是否需要卸载

then

doUMount

else

zenity --info --title="无须卸载"--text="指定目录并未曾挂载任何文件卷!"exit0fi

else    ##########挂载新卷

getISOPath

getMountPoint

checkMountPoint_Exist

checkMountPoint_Directory

checkMountPoint_Mounted

if["$ISMOUNTED" = "TRUE"]########是否需要卸载

then

doUMount

fi

doMount

fi

exit0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值