vine-users ML アーカイブ



[vine-users:063500] Re: at コマンドについて

  • From: "Kaz Okui" <okui@xxxxxxxxxxxx>
  • Subject: [vine-users:063500] Re: at コマンドについて
  • Date: Tue, 16 Dec 2003 18:23:22 +0900
奥井です

> うまく行かないのは、「2 10」がatコマンドの引数扱いに
> なっているからでしょう。また、-fではvideorecの引数はうまく
> 与えられないと思います。
>
> 以下のシェルスクリプトを適当なファイル名で保存して、
> --------------------------------
> #! /bin/bash
> /home/alpha/videorec 2 10
> --------------------------------
> これをatコマンドで呼び出してはいかがですか?
>
残念ながらこれだとチャンネルと時間を変更できないので使えません。

ビデオ録画のcgiのatコマンドの部分をぬきだしました。
use CGI;
$cgi  = CGI::new();
$mode = $cgi->param('mode');
if('add' eq $mode) {
 $sH = Pad0($cgi->param('sH'));
 $sF = Pad0($cgi->param('sF'));
 $sM = Pad0($cgi->param('sM'));
 $sD = Pad0($cgi->param('sD'));
 $sY = substr($cgi->param('sY'), 2, 2);
 $ch = $cgi->param('ch');
 $tH = $cgi->param('tH');
 $tF = $cgi->param('tF');
 $fn = $cgi->param('fn');
 $fn =~ s/ //g;
 $atfile = "/tmp/$fn.at";
 open(ATFILE, "> $atfile");
 print ATFILE "$videorec $ch $tH:$tF $fn\n";
 close(ATFILE);
 $atcmd = "at -f $atfile  $sH:$sF $sM/$sD/$sY >& /tmp/videorec.log";
 $stat  = system($atcmd);
 unlink($atfile);

ここで$videorec が/home/alpha/videorec   $ch $tHがそれぞれチャンネル、時間です
(実際にはvideorecは秒数指定なので録画コマンドはエラーになりsizeがゼロのファイル
が作られるだけです)
ただ、atコマンドは動作してるようですが。
perlがわからないのでatにどういう風に引数つきのスクリプトをあたえているのかわ
かりません。

perlがわかる方ご助言お願いします。