|
すばやいお返事、どうもありがとうございました。 おかげさまで、うまくいきました。(^^) 書籍の情報、参考にさせていただきますので。 そうですね。すいません。(^^; >勘違い スラッシュとバックスラッシュを使っていまして。 FTPで、指定したディレクトリ以下を決まった時間に、 指定したFTPサーバーのディレクトリに、自動的にアップロードするスクリプトを 作成していまして。これで次のステップに進めそうです。(^^) 今後とも、どうぞよろしくお願いします。 #!/usr/bin/perl GetFiles("."); exit(0); sub GetFiles(){ local($dir)=@_; local(*DIR); local($file); print "In $dir\n";#ディレクトリの作成などに。 opendir(DIR,$dir); while($file=readdir(DIR)){ if(-d "$dir/$file" && $file ne '.' && $file ne '..'){ &GetFiles("$dir/$file"); }else{ if($file ne '.' && $file ne '..'){print "$file\n";}#ファイルごとの処理 } } close(DIR); } |
|
近況報告ですが、回線が専用線になりまして。(^^) 今後は、apache+php+データベースに取り組んでいきたいと考えております。 Xt、おもしろいですよね。以前、ちょっとだけ取り組みました。 ディレクトリには、1個以上のファイルが含まれることが 多いですから、こっちのほうがスマートでしたね。(^^; それでは、また。 #!/usr/bin/perl GetFiles("."); exit(0); sub GetFiles(){ local($dir)=@_; local(*DIR); local($file); print "In $dir\n"; opendir(DIR,$dir); while($file=readdir(DIR)){ if(-d "$dir/$file"){ if($file ne '.' && $file ne '..'){ &GetFiles("$dir/$file"); } }else{ print "$file\n"; } } close(DIR); } |
|
御回答ありがとうございます。 ちなみに僕の使っているOSはSunOS 5.6で、 Netscape はバージョン4.7です。 HTTP/FTP クライアントについては、 ネットワークプログラミングの基礎知識で今勉強中なのですが、 ftp の ascii モードと binary モード というのがなんなのか良く解りません。 .netscape/ については less で覗いてみて、 bookmarks.html は、ブックマークに登録してあるもの、 history.list は、 URLを入力する所の右の下向き矢印をクリックすると表れるURL一覧、 preferences.js は、設定ファイルだと思うのですが、 plugin-list 、plugin-list.BAK については解りません。 その他のファイルについては、見ようとすると "ファイル名" may be a binary file. See it anyway? という表示が出てきて、yesと答えても意味の解らないものが出てくるだけでした。 netscapeのキャッシュの事に関しては、 ls -lud 99/ と入力すると、99/ディレクトリにアクセスされていましたが、 その99/ディレクトリの中のファイルに関して、そのコマンドを入力すると、 アクセスされていませんでした。 これって、だめなのでしょうか? あと、umask というコマンドについてなのですが、 ファイル、ディレクトリ作成時に、 ファイルのパーミッションを -rw------- ディレクトリのパーミッションを drwx------ としておきたく、umask の値を変更したいのです。 umask が0の時のパーミッションは、 ファイルが -rw-rw-rw- で、 ディレクトリが drwxrwsrwx なのです。 groupの部分に s の表示があるため、umask 2067 としたらうまくいかないので、umask 77 としたら、 ディレクトリのパーミッションは drwx--l--- となりました。 groupの l も消すようにしたいのですが、どうしたらいいですか? |
|
@いちさん > ftp の ascii モードと binary モード > というのがなんなのか良く解りません。 http://X68000.startshop.co.jp/~68user/unix/pickup?ftp のように どこかの ftp サイトから mew-1.94.2.tar.gz をダウンロードして下さい。 get の前に binary とタイプすればいいです。 > .netscape/ については less で覗いてみて、 ね、自分で調べればそれなりにわかるでしょ。まずは 自力で調べて、それでもわからなければ質問して下さい。 その他については、strings で見ればわかるかもしれません。 それでもわからないものについては、多分僕にもわからないです。 > 99/ディレクトリの中のファイルに関して、そのコマンドを > 入力すると、アクセスされていませんでした。 > これって、だめなのでしょうか? ダメなんでしょう。ということは、おそらく % strings ~/.netscape/cache/index.db で、ファイル名が出ないでしょうから、そもそも URL と キャッシュファイルとのマッピングが出来ていないということです。 > あと、umask というコマンドについてなのですが、 umask 77 で、mkdir でディレクトリを作成したら drwx--l--- になりますか? SunOS 環境が今手元に ないので試せませんが、本当ですか? # l の意味は ls のマニュアルを参照のこと。 @yujiさん > 近況報告ですが、回線が専用線になりまして。(^^) 実はうちも専用線になったので Postgres をいじって遊ぼうと 思ってたら、仕事のせいで暇が全くなかったりします。 機能仕様書や詳細設計書を書いたり、Word や Excel に 苦しむ生活はもう嫌 (-_-# |
|
はじめまして。 私は今プログラマーの仕事をしております。 今回の質問というのはcronについてです。 現在、UNIXを使って「指定した時間にプログラムを実行させる」 ということをしようとしています。 crontabに日時などの情報とコマンドを記述するらしいということは わかったのですが、どうも思ったようにいきません。 crontabに日時、echoコマンドを記述したところ mailで返ってきました。 インターネットからの情報ではechoコマンドやエラーが出たときは mailで返って来るということなので、それはそれでよかったのです。 しかし、いざ実行したいシェルを書きますと、 シェルが起動してくれませんでした。 cronはシェルを起動することもできるんですよね? シェルはフルパスで指定しましたし、chmodで実行を許可しておきました。 そして、何せシェル単独では動くのです・・・。 cronを使ってシェルを起動させるのに、ほかに何か注意する点はありますか? お忙しいところすいません。 もし何かわかることがございましたら、お答えいただきたく思います。 それでは、よろしくお願いいたします。 |
|
> ほかに何か注意する点はありますか? 必要な環境変数が設定されているか、例えば PATH は 通っているか、などをチェックしましょう。cron で env コマンドを実行すればわかるでしょう。 |
|
この掲示板を観ていて、 ソース類を頻繁に書き込む掲示板では、独自タグでtextareaを表示できるようにすると 1.ドラッグによるテキスト選択がやりやすい(普通の表示だと異様にやりずらいブラウザがあります) 2.1ページのログの縦幅が減る という利点があると思ったのですがどうでしょうか。 #独自タグは人によって意見が全然違うのでしょうが ##「違うのでしょうが」っていうのは日本語としておかしいのでしょうが |
|
はじめまして、教えて下さい。 Apache 1.3.12 TurboLinux 6.1 の環境で cgi-bin フォルダがあります。 .cgi のファイルは正しく実行されるのですが、 .html のファイルまで実行しようとする様子で、エラーになってしまいます。 多分、Apache の設定だと思うのですが、資料がなくてわかりません。 ご教授よろしくお願いします |
|
perlでローカルタイムと標準時との間の相互変換をする方法について 質問です。 $t = time; ($sec,$min,$hour,$day,$mon,$year,$wday) = gmtime($t); または ($sec,$min,$hour,$day,$mon,$year,$wday) = localtime($t); とすると、現在の時刻に関する情報(秒、分、時、日、年、月、曜日)が 得られますが、この($sec,$min,$hour,$day,$mon,$year,$wday)がわかっているときに $tを得るにはどうしたらよいのでしょうか。 |
|
@じょんさん > .html のファイルまで実行しようとする様子で、エラーになってしまいます。 おそらく http:// hostname/~foo/cgi-bin/ でなくて、 http:// hostname/cgi-bin/ の話だろうと思いますが、デフォルトでは httpd.conf で ScriptAlias /cgi-bin /usr/local/www/cgi-bin などとなっているので、全てのファイルが CGI プログラムとして 認識されます。なので、 Alias /cgi-bin /usr/local/www/cgi-bin にすればよいです。ただし根本的には /usr/local/www/cgi-bin に CGI プログラムしか置かないというのが (apache の思想としては) 正しいです。 @Syuichi.K さん > ソース類を頻繁に書き込む掲示板では 空白の話ですよね。空白を に変換しようかなと考えて いたのですが、それだと > 1.ドラッグによるテキスト選択がやりやすい(普通の表示だと > 異様にやりずらいブラウザがあります) > 2.1ページのログの縦幅が減る というのは解消できないのでしょうか? 「ドラッグしづらい」 「縦幅が減る」の意味がちょっとわからないです。 @has > この($sec,$min,$hour,$day,$mon,$year,$wday)が > わかっているときに $tを得る Time::Local モジュールを使います。perldoc Time::Local を 参照のこと。perl4 なら require 'timelocal.pl' です。 ところで、お盆には行けない可能性が大になりました>has 今の状況だと、夏休みを取れるかどうかも怪しいという…。 |
|
@68user ありがとうございました。 調べてみますです。 お仕事大変そうですな。 時間のとれたときにでも、 ゆっくりお話ししましょう。 |
|
68user さんありがとうございます。 アドバイスを元に、試行錯誤してうまくいきました Apache って面倒ですね (^^;) 今後も、よろしくお願いします。 m(_'_)m |
|
@68user様 どうも、ご無沙汰しております。Xアプリケーション作成中のgongoです。 前回68user様に教えていただいた通り、イベントハンドラを用いて 線を描くことができました。そこで今度はXDrawLineだけではなく、 他のXlibの関数を用いて絵を描こうと思い実行してみたのですが 問題が生じてしまいました。前回のプログラムからちょこっと直したので 次のようになっております。 http://www.din.or.jp/~gongo/xtshirts.c (プログラム本体) http://www.din.or.jp/~gongo/color.dat (色設定) http://www.din.or.jp/~gongo/outline.dat (絵の輪郭のための座標) http://www.din.or.jp/~gongo/polygon.dat (絵を塗り潰すための座標) 今回やろうとしたのは、 1.絵を描くための窓を白で塗りつぶす(最初のみ) 2.窓に影をつける(見た目を格好よくしたかったため) 3.全ての窓に同じ絵を描く 4.その絵に輪郭をつける です。で、問題というのはこれらすべてはExposeイベントによって 処理されるようにしたのですが、どうも窓の名前(window1,window2など) が表示されてしまいます。窓に何も描いていない場合でない限り 窓の名前は表示されないものと思っていたのですが、今回絵を描いても 窓の名前が表示されたりされなかったりします。Exposeを何度も起こして (上に他の窓を持って来たりして)動作を確認していたのですが 窓の名前が表示されるときもさればそうでないときもあるため 原因がいまいちわかりません。 どうかよろしくお願い致します。 |
|
まず、 - Window?? というのは Xt のラベル - その下の服やらなんやらは Xlib です。 Xlib の方は Expose が発生すると再描画するように EventHandler を 設定しています。しかし、Xt の方は Xt が勝手に Expose を取得し、 再描画しています。 で、表示される/されないの現象を見るに、 - Xlib の方は、ウィンドウの一部が露出しただけで常に 再描画するようになっています。なぜならウィンドウ全体である form に Expose イベントハンドラとして、全ての Xlib な画像を 再描画するように設定されているからです。 - Xt のウィジェットの方は、自分自身のウィジェットが 露出しない限り、再描画しません なので、xtshirts のウィンドウの半分を別のウィンドウで覆い、 その後 xtshirts ウィンドウを露出させると、隠れていなかった 部分のラベルが消えます。これは、隠れていなかった部分の ウィジェットは再描画しなかったのに、Xlib の方が再描画 してしまったからでしょう。 対策としては、 - Xlib の方でも本当に関係ある Expose だけを拾うようにする。 - Xlib の方で Expose を受けたら再描画し、その後 XClearArea (だったかなぁ?) で隠れてしまったウィジェットの方に Expose イベントを送る でしょうか。あるいは重ね合わせを簡単に指定できる方法が あるのかもしれません。 以上、Xt 素人の意見でした。大外しの可能性もありますので、 盲目的に信用しないで下さい。 ちなみに initflag の部分は - 結局一度しか実行されない (main だから) - コールバックやイベントハンドラは一度設定したら、ずっと その設定が残る (再設定しない限り) なので、意味はないと思います。 |
|
@68user様 本当にありがとうございます! どうしてあのような状況になったのかだいたい理解できました。 >form に Expose イベントハンドラとして、全ての Xlib な画像を これについては最初は各ウィジェットごとにExposeイベント処理をしよう かとも思っていたのですが、アプリケーションの見た目のために 意味もなくつけた影となる窓もXlibを用いて色を塗っていたため 全部のウィジェットについてExposeを設定するよりもformの方が 簡単かなぁと思ってしまったためです。 ご提案してくださった対策法につきましては2つ目の方がちょっと まだわからないところがあるのでいろいろやってみたいと思います。 基本的にはXtのラベルには出てきてほしくないものなのですが・・・。 |
|
@68user様 Xtのラベルを表示させないようにするのは成功しました。 結局各ウィジェットごとにExposeイベントの処理を行うことにしました。 そこで次に各ウィジェットごとに服の色を変えようかと思い、 DrawOnWidgetの中でdrawgcの属性値を変えようとしたのですが どうもうまくいきません。1つのGCを各ウィジェットに対して 属性値を変えつつ使い回すのは無理なのでしょうか。 どうしても最初の窓用に設定した色で全て塗りつぶされてしまいます。 プログラムはこちらです↓ http://www.din.or.jp/~gongo/xtshirts.c http://www.din.or.jp/~gongo/color.dat http://www.din.or.jp/~gongo/fixedcolor.dat http://www.din.or.jp/~gongo/polygon.dat http://www.din.or.jp/~gongo/outline.dat まだ先の話ですが、いずれは1つの窓をクリックすることで 全ての服の色に影響を与え、再描画するようにしたいと考えております。 どうか宜しくお願い致します。 |
|
たぶん、DrawOnWidget の fscanf で、バッファオーバーランを 起こしています。そのため windownum が上書きされ、値が常に 0になってます。例えば POLNUM の数を増やすと動作しました。 開発初期段階のうちから if ( j >= sizeof(polpoints)/sizeof(polpoints[0]) ){ オーバーラン } というような自動チェックのコードを仕込んでおくこと をお勧めします。 あと、デバッグは、もうちょっと注意深くやってみましょう。 XChangeGC 周辺で windownum や pixelnum[windownum] の 値を表示させるだけで、おそらく気づいたことでしょうから。 |
|
ちゃうな。POLNUM は正しいのか。というわけで、 誤: fscanf("%d%*c%d%*c",&polpoints[j].x,&polpoints[j].y); 正: fscanf("%hd%*c%hd%*c",&polpoints[j].x,&polpoints[j].y); ですかね。XPoint のメンバ x,y は int でなく short int です。 |
|
@68user様 お手数おかけ致しまして申し訳ございませんでした。 DrawOnWidgetに入った時点でwindownumがきちんと受け渡されて 表示されていたので、てっきり大丈夫なのだと思いこんでいました。 以後もう少し気をつけてデバック致します。 |