PR
Category
Keyword Search
Comments
Freepage List
HD-PVR用の簡易キャプチャソフト(linux用)のデータコピー以外の遅くてもいいところは、bashのスクリプトでできています。いわゆるコマンドラインのオプションを使えるようにしようと、スクリプトを少しかきなおすことにしましたが、bashってどうもわかんない。
インターネットを探しても、出てくるのは知っているような話が多い・・・orz
ここのサイトに書いてあることが
結構役に立ったが、exprとか、ヘンタイ的な変数の扱いとか、、、
結局1時間ほど格闘して、コマンドラインオプションのパースをするところを作って見mした。caseまではたどり着けず、if ~ elifの羅列。
bashって嫌いだ・・・
#!/usr/bin/bash
device=/dev/video0
folder=~/HDPVR_REC
log=~/HDPVR_REC/log.log
v4lop=( '-A' '-Ab' '-c')
while [ -n "$1" ]; do
#echo "$1"
#echo $( expr "$1" : "\(-device=\).*" )
if [ -n "$( expr "$1" : "\(-device=\).*" )" ]; then
device="$(expr "$1" : '-device=\(.*\)' )"
elif [ -n "$( expr "$1" : "\(-folder=\).*" )" ]; then
folder="$(expr "$1" : '-folder=\(.*\)' )"
elif [ -n "$( expr "$1" : "\(-log=\).*" )" ]; then
log="$(expr "$1" : '-log=\(.*\)' )"
elif [ -n "$( expr "$1" : "\(--opt=\).*" )" ]; then
v4lop[ ${#v4lop[@]} ]=$1
elif [ -n "$( expr "$1" : "\(-\).*" )" ]; then
echo $(expr "$0" : ".*/\(.*\)\$" ) : usage
echo Brabra
exit 1
else
arg=$1
fi
shift
done
echo device ${device}
echo folder ${folder}
echo log ${log}
echo arg ${arg}
for opt in ${v4lop[@]}; do
echo v4l ${opt}
done
PureDataはじめました… 2009.11.14
UbuntuにVMplayer 2009.04.19
bash の()のPIDは?Bashではまるシリー… 2009.04.17 コメント(2)