DVDイメージコピーをDLNAサーバに突っ込んでおくと、いちいちDVDを入れ替えなくてもDLNA機器のリモコン操作だけで次々見れるので、快適。というわけで、DVDイメージを一括でmount/unmountするscript。FreeBSD用。むかーしむかーしにイメージを作っていたという人にしか役に立たないけど。
ネットで視聴なら、こんなことしなくてもリモコン操作だけでラクラクだけどね。
一括マウント。マウント先は/media。DVD毎にフォルダを分けてイメージを作成したと想定。
#!/usr/local/bin/bash
FILES=$(/usr/bin/locate ISO | /usr/bin/grep '^/int.*ISO$')
for isofile in $FILES
do
devnum=$(/sbin/mdconfig -a -t vnode -f "${isofile}")
dir=$(/usr/bin/dirname ${isofile}|/usr/bin/sed 's/\.ISO$//')
name=$(/usr/bin/basename $dir)
/bin/mkdir /media/$name > /dev/null 2>&1
/sbin/mount -r -t cd9660 /dev/$devnum /media/$name
done
一括アンマウントは
#!/usr/local/bin/bash
DEVS=$(/bin/ls /dev/md* |/usr/bin/grep -v ctl)
for target in $DEVS
do
num=$(/bin/echo $target|/usr/bin/sed 's/^.*md//')
/sbin/umount $target
/sbin/mdconfig -d -u $num
done
/bin/rmdir /media/*
スクリプトは可読性を高めるため、bash用の拡張構文を使用。たいしたことはやっていないので、/bin/sh の範囲でも書けるけど、仕事でメンテナンス性の高いコードを書けるよう、普段から練習。
クックブックは電子書籍の方が便利だと思う。O'Reilly Japan - bashクックブック