<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相關
    主站蜘蛛池模板: 亚洲乱码日产一区三区| 亚洲 综合 国产 欧洲 丝袜| 亚洲精品国产美女久久久| 一级毛片在线免费视频| 男人的天堂亚洲一区二区三区| 亚洲网址在线观看| 人与禽交免费网站视频| 亚洲一卡二卡三卡| 在线中文高清资源免费观看| 亚洲国产成人久久综合| 四虎国产精品免费视| 深夜久久AAAAA级毛片免费看| 亚洲国产综合精品中文字幕| 一级视频免费观看| 国产精品国产亚洲精品看不卡| 免费观看久久精彩视频| 久久精品国产亚洲AV香蕉| 免费三级毛片电影片| 亚洲AV日韩AV永久无码色欲| 精品国产香蕉伊思人在线在线亚洲一区二区| 一区二区三区视频免费| 亚洲AV综合色区无码另类小说| 亚洲一区二区三区免费视频| 亚洲AV成人噜噜无码网站| 国产男女性潮高清免费网站| 久久久久久毛片免费看| 亚洲视频.com| 免费观看大片毛片| 4hu四虎免费影院www| 亚洲精品国产电影午夜| 四虎影视永久免费观看| 国产精品免费福利久久| 91在线亚洲综合在线| 国产国拍亚洲精品福利| 最近高清中文字幕无吗免费看| 国产亚洲福利一区二区免费看 | 精品久久久久久亚洲中文字幕| 亚洲人AV永久一区二区三区久久| 久久免费国产视频| 大桥未久亚洲无av码在线| 亚洲av色福利天堂|