LinuxÒÁµéÔ°ÂÛ̳'s Archiver

li-jiahuan ·¢±íÓÚ 2006-12-6 10:38

bashʵÓãºÀûÓÃcdrecord¿Ì¼ISO

ÓÐÒ»¶Îʱ¼äÎÒ¾­³£ÐèÒª¿Ì¼ISO½øÐвâÊÔ
k3b, gnomebakerµÈGUI¿Ì¼¹¤¾ßµ±È»¶¼ÊǺܲ»´íµÄ
µ«ÎÒ»¹ÊǺÜϲ»¶cdrecordÕâ¸öÃüÁîÐй¤¾ß
cdrcordʹÓÃʱÐèÒªÖÁÉÙ´òÉÏÁ½ÐеÄÃüÁî
Èç¹û»¹ÐèÒªÏȲÁÅ̾͵Ã3ÐÐÁË
ΪÁË͵ÀÁ¾ÍдÁËÕâ¸öС½Å±¾
£¨Perl³ÌÐòÔ±µÄÈýÖÖÃÀµÂ? :) )

¾­¹ýһ̨ide cdrwһ̨ÏÈ·æusb dvdrwµÄ²âÊÔ
»¶Ó­ÈκÎʹÓ÷´À¡»òÊǽ¨Òé,bug±¨¸æµÈ
ºÜ±§Ç¸Ã»Ð´×¢ÊÍ
²»¹ýÓ¦¸Ã¿´ÆðÀ´Ã»Ê²Ã´À§ÄÑ

[php]
#! /bin/bash

# ÓÃ;: cdrecored¿ÌISO
# Ó÷¨: mycdrecord.sh xxx.iso
# huanlf <huanlf @ gmail.com>

ERASE= # blank the disk
BURN=  # burn the disk

which cdrecord &>/dev/null || {
        echo "cdrecord not installed"
        exit 127
}

usage () {
        cat <<- EOF '

        Founction: use cdrecord to burn ISO'
        Usage: mycdrecord.sh [ options ] [ xxx.iso ]
        options:
                        -e erase the disk
                        -b burn iso into disk
                        -h print this help message

        EOF

        exit
}

while getopts 'ebh' opt; do
        case $opt in
        e)
                ERASE=true;;
        b)
                BURN=true;;
        *)
                usage;;
        esac
done

shift $(( OPTIND -1 ))

iso=$1
[[ -n $iso ]] && {
        file $iso | grep -q 'ISO 9660'; RC=$?
        [[ $RC != 0 ]] && {
                echo "Tatge is not ISO file, aborting ..."
                exit 127
        }
}

if [[ -e /dev/cdrw ]]; then
        rw_dev=/dev/cdrw
elif [[ -e /dev/dvdrw ]]; then
        rw_dev=/dvdrw
else
        modprobe sg 2>/dev/null
        rw_dev=$( cdrecord -scanbus 2>/dev/null | awk '/RW/ {print $1}' )
fi

[[ -z $rw_dev ]] && {
        echo "Can not found RW device, aborting ..."
        exit 127
}
echo "Found RW device: $rw_dev"
umount $rw_dev 2>/dev/null

RC=0
if [[ -z "$ERASE$BURN" ]]; then
        cdrecord dev=$rw_dev blank=fast && cdrecord dev=$rw_dev $iso;
else
        [[ -n $ERASE ]] && { cdrecord dev=$rw_dev blank=fast; RC=$?; }
        [[ -n $BURN ]]  && (( RC == 0 )) && [[ -n $iso ]] && cdrecord dev=$rw_dev $iso
fi

{ eject && sleep 5 && eject -t; } &
[/php]

dearvoid ·¢±íÓÚ 2006-12-6 11:26

congrats and thanks for your sharing :)

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.