<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    您好朋友,感謝您關(guān)注xiaosilent,我在blogjava的博客已經(jīng)停止更新,請訪問http://kuan.fm了解我的最新情況,謝謝!
    隨筆-82  評論-133  文章-0  trackbacks-0
    還是自己寫的小小腳本,用來掛載iso文件、卸載卷 的小腳本。 就算是0.6版了吧~~~~

    寫這個腳本,完全是出于學(xué)習(xí),腳本中還有很多不足的地方有待改進(jìn)。然而,我比較懶,先湊合著用吧,等到把最近的項(xiàng)目拿下以后再來好好學(xué)學(xué)scripting。

    驗(yàn)證過,標(biāo)準(zhǔn)的mdf文件也可以掛載的,因?yàn)椋凑漳_本的寫法,只要是用 file 命令得到的結(jié)果里包含 iso 9660 的文件,都可以用本腳本掛載。

    點(diǎn)? 這里? 下載deb包,由于BlogJava只能上傳zip/rar格式,所以又被壓縮成了zip。以前也曾試著弄過deb包,結(jié)果初始化腳本沒有寫對,害得一位試用的兄弟卸載不了,在此,再次向那位兄弟表示歉意。這下,干脆就直接把腳本扔到/usr/bin里面了,可以隨便卸載了。

    #!/bin/bash
    ##################################################################################
    #??
    #????GMountISO?一個掛載iso文件的小腳本
    #?????作者:xiaosilent
    #????Email:xiaosilent@gmail.com
    #?????版本:
    0.6
    #?????依賴:zenity
    #?????用法:
    #????????
    1,圖形界面下,在iso文件上右擊選擇打開方式,在命令欄里找到GMountISO,啟動腳本
    #????????
    2.1終端下,直接執(zhí)行腳本,和圖形界面下一樣
    #????????
    2.2終端下,gmountiso?iso_path?mount_path?直接完成掛載
    #
    ##################################################################################



    ###################?定義變量?##########################################

    ISO_PATH
    =$1????????#iso文件路徑,從第一個參數(shù)里獲取
    MOUNTPOINT
    =$2????#掛載點(diǎn),第二個參數(shù)

    CHOSED_FUNCTION
    =""????#功能選擇,掛載/卸載
    ISMOUNTED
    =""????#掛載點(diǎn)是否已經(jīng)被占用



    ###################?一些功能模塊?#######################################

    ###功能選擇?掛載/卸載
    function?choosefunction(){
    ????CHOSED_FUNCTION
    =`zenity?--title="選擇要執(zhí)行的操作"?--list?--width=100?--radiolist?--column="是否選中"?--column="操作類型"?TRUE?"掛載新卷"?FALSE?"卸載舊卷"`
    ????if?
    [?"$?"?-eq?"1"?]
    ????then
    ????????echo?
    "沒有選擇,直接退出"
    ????????exit?
    0
    ????fi
    }

    ###獲取ISO文件的路徑
    function?getISOPath(){
    ????if?
    [?"$ISO_PATH"?=?""?]??#命令行參數(shù)為空
    ????then
    ????????ISO_PATH
    =`zenity?--file-selection?--title?"選擇要掛載的ISO文件"?--filename="~"`????#彈出文件選擇對話框
    ????????if?
    [?"$ISO_PATH"?=?""?]????#從文件對話框"取消",給出提示信息,程序退出。
    ????????then
    ????????????zenity?--error?--title
    ="錯誤信息"?--text="您沒有指定要掛載的ISO文件!"
    ????????????exit?
    1
    ????????fi
    ????fi
    ????if?
    [?`file?$ISO_PATH?|?grep?"ISO?9660"?|?wc?-c`?-eq?"0"?]
    ????then
    ????????zenity?--error?--title
    ="錯誤信息"?--text="讀取ISO文件出錯,請確認(rèn)文件存在且是標(biāo)準(zhǔn)的ISO格式"
    ????????exit?
    1
    ????fi
    }


    ###獲取掛載點(diǎn)路徑
    function?getMountPoint(){
    ????if?
    [?"$MOUNTPOINT"?=?""?]????#沒有從命令行里制定掛載路徑
    ????then
    ????????MOUNTPOINT
    =`zenity?--file-selection?--directory?--title="請選擇ISO文件掛載目錄"???--filename="/media/iso"`
    ????????if?
    [?"$MOUNTPOINT"?=?""?]????#選擇了?"取消",給出提示信息,程序退出。
    ????????then
    ????????zenity?--error?--title
    ="錯誤信息"?--text="您沒有指定掛載目錄"
    ????????exit?
    1
    ????????fi
    ????fi
    }

    ###檢測掛載點(diǎn)是否存在
    function?checkMountPoint_Exist(){
    ????if?
    [?!?-e?$MOUNTPOINT?]???#監(jiān)測掛載點(diǎn)是否存在
    ????then?#掛載點(diǎn)?不存在
    ????????zenity?--error?--title
    ="錯誤信息"?--text="掛載目錄$MOUNTPOINT不存在"
    ????????exit?
    1
    ????fi
    }

    ###檢測所指定的掛載點(diǎn)是否為目錄
    function?checkMountPoint_Directory(){
    ????if?
    [?!?-d?$MOUNTPOINT?]??#如果掛載點(diǎn)不是一個目錄
    ????then
    ????????enity?--error?--title
    ="錯誤信息"?--text="掛載目錄$MOUNTPOINT不是目錄"
    ????????exit?
    1
    ????fi
    }

    ###檢測指定的掛載點(diǎn)是否已經(jīng)被使用
    function?checkMountPoint_Mounted(){
    ????ISMOUNTED
    =`grep?$MOUNTPOINT?/etc/mtab?|?wc?-c`
    ????if?
    [?"$ISMOUNTED"?-gt?"0"?]
    ????then
    ????????ISMOUNTED
    ="TRUE"
    ????else
    ????????ISMOUNTED
    ="FALSE"
    ????fi
    }

    ###執(zhí)行?卸載?的操作
    function?doUMount(){
    ????if?
    [?"$ISMOUNTED"?=?"TRUE"?]
    ????then
    ????????zenity?--warning?--title
    ="確認(rèn)卸載"?--text="即將卸載$MOUNTPOINT下的文件卷。\n\n在確認(rèn)卸載以前,請確認(rèn)該卸載操作是安全的!\n\n是否確定要進(jìn)行卸載?"
    ????????if?
    [?$??-eq?1?]
    ????????then
    ????????????exit?
    0
    ????????else
    ????????????gksu?umount?$MOUNTPOINT??##gksu在圖形界面下切換到超級用戶。
    ????????????checkMountPoint_Mounted
    ????????????if?
    [?"$ISMOUNTED"?=?"TRUE"?]
    ????????????then
    ????????????????zenity?--error?--title
    ="卸載失敗"?--text="設(shè)備忙,或其他原因,卸載失敗!"
    ????????????????exit?
    1
    ????????????else
    ????????????????if?
    [?"$CHOSED_FUNCTION"?=?"掛載新卷"?]
    ????????????????then
    ????????????????????zenity?--info?--title
    ="成功卸載"?--text="原來的卷已經(jīng)成功卸載,即將開始新卷的掛載操作!"
    ????????????????else
    ????????????????????zenity?--info?--title
    ="成功卸載"?--text="掛載到$MOUNTPOINT的卷已經(jīng)成功卸載!"
    ????????????????????exit?
    0
    ????????????????fi
    ????????????fi
    ????????fi
    ????fi
    }

    ###執(zhí)行?掛載?的操作
    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已經(jīng)被成功掛載到$MOUNTPOINT!\n\n程序?qū)⒆詣訂訛g覽器打開該目錄!"
    ????????nautilus?$MOUNTPOINT????#啟動瀏覽器瀏覽新掛載的卷
    ????else
    ????????zenity?--error?--title
    ="掛載失敗"?--text="在把文件$ISO_PATH掛載到$MOUNTPOINT時失敗!"
    ????fi
    ????exit?
    0
    }



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

    choosefunction

    if?
    [?"$CHOSED_FUNCTION"?=?"卸載舊卷"?]????#######卸載舊卷
    then
    ????getMountPoint
    ????checkMountPoint_Exist
    ????checkMountPoint_Directory
    ????checkMountPoint_Mounted
    ????
    ????if?
    [?"$ISMOUNTED"?=?"TRUE"?]????????########是否需要卸載
    ????then
    ????????doUMount
    ????else
    ????????zenity?--info?--title
    ="無須卸載"?--text="指定目錄并未曾掛載任何文件卷!"
    ????????exit?
    0
    ????fi
    else????##########掛載新卷
    ????getISOPath
    ????getMountPoint
    ????checkMountPoint_Exist
    ????checkMountPoint_Directory
    ????checkMountPoint_Mounted

    ????if?
    [?"$ISMOUNTED"?=?"TRUE"?]????########是否需要卸載
    ????then
    ????????doUMount
    ????fi

    ????doMount
    ????
    fi

    exit?
    0

    posted on 2006-12-21 14:18 xiaosilent 閱讀(950) 評論(0)  編輯  收藏 所屬分類: Linux相關(guān)
    主站蜘蛛池模板: 亚洲成年轻人电影网站www | 好男人资源在线WWW免费| 18禁亚洲深夜福利人口| 日本系列1页亚洲系列| 好吊妞788免费视频播放| 国产成人精品123区免费视频| 亚洲男人天堂2020| 亚洲VA中文字幕无码毛片| 亚洲精品伊人久久久久| 爱情岛亚洲论坛在线观看 | 亚洲一级免费毛片| 蜜桃精品免费久久久久影院| 亚洲一区二区女搞男| 国产精品亚洲片夜色在线| 无人在线观看免费高清视频| 中文亚洲成a人片在线观看| 亚洲另类春色校园小说| 精品久久久久久国产免费了| 最近中文字幕免费mv视频8| 亚洲成AV人片在线观看ww| 处破女第一次亚洲18分钟| 国产91精品一区二区麻豆亚洲| 亚洲av乱码一区二区三区| 91在线视频免费观看| 免费爱爱的视频太爽了| 日韩一级片免费观看| av无码国产在线看免费网站| 久久精品国产亚洲av麻| 成年人免费的视频| 丰满亚洲大尺度无码无码专线| 国产成人亚洲精品影院| 91精品国产免费入口| 亚洲精品色午夜无码专区日韩| 一边摸一边桶一边脱免费视频 | 免费人成又黄又爽的视频在线电影| 很黄很黄的网站免费的| 亚洲Av永久无码精品一区二区| 国产香蕉免费精品视频| 看一级毛片免费观看视频| 成人永久免费高清| 高h视频在线免费观看|