緑のボタンを押せ! Press the green button

緑のボタンを押せ! Press the green button

PR

×

Keyword Search

▼キーワード検索

Archives

2026.10
2026.09
2026.08
2026.07
2026.06

Comments

effelpist@ kilovermek.es effelpist &lt;a href=&quot; <small> <a href="http…
Jun@ Re:「いっちゅう」さんのiEPG用ソフト入れてみた(09/15) TVdeIEPG Ver.1.2.1.0がリンク切れしてい…
スター@ Re:hauppauge HD PVR 速報(08/25) スタービーチ <small> <a href="http://c…
ASOBO@ Re:hauppauge HD PVR 速報 ASOBO攻略 <small> <a href="http:/…
ハッピーメール@ Re:hauppauge HD PVR 速報 ハッピーメール <small> <a href="http:/…

Freepage List

Favorite Blog

まだ登録されていません
2009.04.07
XML
カテゴリ: プログラミング

 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






お気に入りの記事を「いいね!」で応援しよう

Last updated  2009.04.07 21:42:22
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: