Dies Aliquanti

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

bashって嫌いだ・・・

 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

 



コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://diesaliquanti.blog.fc2.com/tb.php/614-c6f0f550
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。