<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.3版了吧~~~~

    #!/bin/bash
    ##################################################################################
    #??
    #??? GMountISO 一個掛載在GNOME環境下掛載iso文件的小小小腳本
    #?????作者:xiaosilent
    #?? ? Email:xiaosilent@gmail.com
    #?????版本:
    0.3
    #?????依賴:zenity
    #?????用法:
    #????????
    1,圖形界面下,直接執行腳本,也可復制到~/gnome2/nautilus-scripts/下,這樣將在nautilus的上下文菜單中出現script項。
    #????????
    2.1終端下,直接執行腳本,和圖形界面下一樣
    #????????
    2.2終端下,./mountiso?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?"ROM"?|?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卸載操作需要root權限,是否確定要進行卸載?"
    ????????
    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="原來的卷已經成功卸載!"
    ????????????????????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

    暫時還只實現了這么點功能,不過,目前暫時夠本人用了,所以,暫時,這個腳本就是這樣了。

    剛才,搜索了一下mountiso,出來一個kde下的東東,所以,我這個mountiso就不能再存在了,現在換成 GMountISO。
    posted on 2006-12-03 10:54 xiaosilent 閱讀(389) 評論(0)  編輯  收藏 所屬分類: Linux相關
    主站蜘蛛池模板: 亚洲1234区乱码| 亚洲一区在线免费观看| 免费国产高清毛不卡片基地| 亚洲国产精品无码久久青草| 色欲色欲天天天www亚洲伊| 成人片黄网站色大片免费| 97se亚洲国产综合自在线| 无码国产精品一区二区免费式影视 | 亚洲精品无码av中文字幕| 国产在线观看片a免费观看| 亚洲剧情在线观看| 免费看大黄高清网站视频在线| 亚洲熟妇AV乱码在线观看| 波多野结衣视频在线免费观看| 午夜亚洲乱码伦小说区69堂| 亚洲国产精品一区二区第四页| 二区久久国产乱子伦免费精品| 亚洲AV乱码一区二区三区林ゆな| 亚洲综合久久精品无码色欲| 韩国免费三片在线视频| 水蜜桃视频在线观看免费| 国产亚洲精品影视在线产品| 久久免费高清视频| 亚洲国产片在线观看| 日本免费观看网站| 亚洲五月午夜免费在线视频| 久久亚洲AV无码精品色午夜麻| 蜜桃AV无码免费看永久| 亚洲色无码国产精品网站可下载| 亚洲国产av无码精品| 免费一级毛片无毒不卡| 亚洲成AV人综合在线观看| 在线看片无码永久免费aⅴ| 成人网站免费大全日韩国产 | 精品香蕉在线观看免费| 亚洲精品乱码久久久久久蜜桃图片| 亚洲国产精品成人久久蜜臀| 男女午夜24式免费视频| 亚洲综合国产成人丁香五月激情 | 四虎在线成人免费网站| 免费精品久久久久久中文字幕|