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] congrats and thanks for your sharing :)
Ò³:
[1]