xfburn刻录linux iso,用脚本提升开源生活品质之:光盘刻录

#! /bin/bash# Author : Jiahuan Li

# License: GPLv2# Date : 2007/06/22

# Desc : make use of cdrocord to burn cd/dvd diskERASE=# 擦除RW光盘

BURN= # 烧刻## 检查是否已经安装cdrecordwhich cdrecord &>/dev/null || {

echo"cdrecord not installed"exit 127

}## 用法usage () {

cat <

用法:$0[ options ] [ xxx.iso ]

options:

-e 擦除RW光盘

-b 刻录

-h 打印本条帮助信息

说明:

对于CD-R/DVD-R来说, 不需要指定options, 指定iso后直接刻录

对于CD-RW/DVD-RW来说, 需要先擦写再记录,即需要指定 -e -b 参数

EOF

exit 1

}## 要求至少有一个参数

[[ -n $1 ]] || usagewhile getopts 'ebh' opt; do

case$optin

e)ERASE=true;;

b)BURN=true;;

*)

usage;;

esac

done## 去掉 -e/-b, iso=xxx.iso

shift $(( OPTIND -1 ))iso=$1## 检查$iso是否为iso文件[[ -n$iso]] && {

file$iso| grep -q 'ISO 9660';RC=$?

[[$RC!= 0 ]] && {

echo"Target is not a ISO file, aborting ..."exit 127

}

}## 导入usb光驱驱动模块, 一般不需要手工导入,udev在开机时会加载## 止处是防止模块被列入黑名单#modprobe sr_mod 2>/dev/null

#modprobe sg 2>/dev/nullmodprobe sr_mod 2>/dev/null

modprobe sg 2>/dev/null## 探测刻录光驱是哪个设备

if [[ -e /dev/cdrw ]]; then

rw_dev=/dev/cdrwelif [[ -e /dev/dvdrw ]]; thenrw_dev=/dvdrw

elserw_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先

umount $rw_dev 2>/dev/nullRC=0## 如果没有指定要擦除或刻录,则直接刻录( CD-R, DVD-R 盘不用擦,直接刻 )if [[ -z"$ERASE$BURN"]]; then

cdrecorddev=$rw_devblank=fast && cdrecorddev=$rw_dev$iso;

else## 如果指定擦盘[[ -n$ERASE]] && { cdrecorddev=$rw_devblank=fast;RC=$?; }## 如果指定刻盘[[ -n$BURN]] && (( RC == 0 )) && [[ -n$iso]] && cdrecorddev=$rw_dev$isofi## modprobe -r cdrom sg sg_mod sr_mod 2>/dev/null## 弹出光驱{ eject && sleep 5 && eject -t; } &>/dev/null &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值