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

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

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

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

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

    驗證過,標準的mdf文件也可以掛載的,因為,按照腳本的寫法,只要是用 file 命令得到的結果里包含 iso 9660 的文件,都可以用本腳本掛載。

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

    #!/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?
    "沒有選擇,直接退出"
    ????????exit?
    0
    ????fi
    }

    ###獲取ISO文件的路徑
    function?getISOPath(){
    ????if?
    [?"$ISO_PATH"?=?""?]??#命令行參數為空
    ????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文件出錯,請確認文件存在且是標準的ISO格式"
    ????????exit?
    1
    ????fi
    }


    ###獲取掛載點路徑
    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
    }

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

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

    ###檢測指定的掛載點是否已經被使用
    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
    ????????????exit?
    0
    ????????else
    ????????????gksu?umount?$MOUNTPOINT??##gksu在圖形界面下切換到超級用戶。
    ????????????checkMountPoint_Mounted
    ????????????if?
    [?"$ISMOUNTED"?=?"TRUE"?]
    ????????????then
    ????????????????zenity?--error?--title
    ="卸載失敗"?--text="設備忙,或其他原因,卸載失敗!"
    ????????????????exit?
    1
    ????????????else
    ????????????????if?
    [?"$CHOSED_FUNCTION"?=?"掛載新卷"?]
    ????????????????then
    ????????????????????zenity?--info?--title
    ="成功卸載"?--text="原來的卷已經成功卸載,即將開始新卷的掛載操作!"
    ????????????????else
    ????????????????????zenity?--info?--title
    ="成功卸載"?--text="掛載到$MOUNTPOINT的卷已經成功卸載!"
    ????????????????????exit?
    0
    ????????????????fi
    ????????????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
    ????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 閱讀(942) 評論(0)  編輯  收藏 所屬分類: Linux相關
    主站蜘蛛池模板: 无码天堂va亚洲va在线va| 亚洲AV成人影视在线观看| 人禽伦免费交视频播放| 国产免费无遮挡精品视频| 国产成人亚洲精品电影| 国产精品无码一二区免费| 国产精品亚洲精品日韩电影| 免费h黄肉动漫在线观看| 日本黄页网址在线看免费不卡| 亚洲国产精品13p| 无套内射无矿码免费看黄| 亚洲国产a级视频| 两性色午夜视频免费播放| 亚洲国产日韩在线视频| 午夜免费福利视频| 久久精品国产亚洲av日韩| 中文字幕无码不卡免费视频| 亚洲日韩国产二区无码| 亚洲国产aⅴ综合网| 日韩av无码免费播放| 亚洲神级电影国语版| 女人张腿给男人桶视频免费版| 久久亚洲精品无码网站| 在线观看亚洲av每日更新 | caoporn成人免费公开| 亚洲色无码一区二区三区| 免费A级毛片无码A∨| 亚洲人xxx日本人18| 亚洲av午夜精品一区二区三区| 中文字幕视频在线免费观看| 亚洲一区二区中文| 免费精品一区二区三区在线观看| 鲁啊鲁在线视频免费播放| 国产成人精品日本亚洲| 国产人在线成免费视频| 杨幂最新免费特级毛片| 亚洲综合视频在线观看| 一区二区三区亚洲视频| 免费人成视频在线观看网站| 亚洲av日韩综合一区久热| 亚洲国产另类久久久精品小说|