68user's page 掲示板

Prev< No. 280〜310> Next  [最新発言に戻る] [過去ログ一覧]
No. 280 # 氷聖 1999/04/26 (月) 15:32
はじめまして,こんにちは.
つい1週間ほど前にFreeBSDに手を出した者です.
さっぱり解らないので色々と探してここにたどり着きました.
”UNIXのお部屋”は大変参考になりますね.すごく重宝します.
また何か解らないことがあったらこちらに伺おうと思っているので
その時は何卒よろしくお願いします.

No. 281 # 68user 1999/04/26 (月) 23:03
どもども。今後ともよろしくです。

表現がわかりにくい/構成が悪い部分があったら教えて下さいね。
どうも肥大化しすぎて、どこをどうすれば利用しやすくなるのか
わからなくなってしまいましたので。

No. 282 # R-N 1999/04/30 (金) 00:35
たぶん完成しました。(^_^;
http://www.raidway.ne.jp/~nouveau/dc/sh/
に置く、race.htmlとrrr.cgiです。(cgiはrrr.txtにしておいてあります)
どんなもんでしょう?
wrapperが非常に役に立ちました、ありがとうございます。

ところでハッシュというものは一時的にでも並べ替えは出来ないんですね。
代入した数値順での並べ替えでずっと詰まってました...。

No. 283 # 68user 1999/04/30 (金) 01:20
> http://www.raidway.ne.jp/~nouveau/dc/sh/
> に置く、race.htmlとrrr.cgiです。(cgiはrrr.txtにしておいてあります)

では拝見…と思ったら not found。
どこにあるんでせう?

> 代入した数値順での並べ替えでずっと詰まってました...。
毎回ソートする必要がありますね。解決されたようですが、
一応書いておくと、キーを数字順でソートしたいなら
    foreach ( sort {$a<=>$b} keys %hash ){ print "$_ $hash{$_}\n"; }
値を数字順でソートなら
    foreach ( sort {$hash{$a} <=> $hash{$b}} keys %hash ){ print "$_ $hash{$_}\n"; }
文字としてソートなら <=> ではなく cmp、などなど。

No. 284 # R-N 1999/04/30 (金) 01:59
すみません、置く前に書いたんで...。
設置にも手間取ってたりしました、何故かエラーが...。

ハッシュの件は解決しなかったので処理が終わったら
別の変数に代入しちゃいました。
この辺はかなり無駄がありそうですし、エラーがあるなら
この周辺でしょう...。
むぅ、foreach ( sort〜ですか...、組み込めるかな...。(-_-;
お手数おかけしました。

No. 285 # 68user 1999/04/30 (金) 02:03
あ、見れた。で、気づいた事。

    - $monが0月〜11月になっちゃいませんか。

うーん、これくらいかなぁ。後はどーでもいいというか、些細な事というか、
好みの問題というか。

    - EOF は End Of File の略なので、EOTが適当…なんでしたっけ?
        (EOT=End Of Textのつもり)。
    - if ($... <10) { $... = "0..." } の羅列より、
            $now = sprintf("%4d/%02d/%02d ...",$year+1900,$mon+1,$mday,...)
        の方がすっきりするかも。

全体的に特に問題はないんじゃないでしょうか。

No. 286 # 68user 1999/04/30 (金) 02:16
後は
> ($dtm,$soft,$point,$reho) = split(/\,/, $data[0]);
($dtm,$soft,$point,$reho) = split(/,/, $data[0]);
> $temp = $now."\,".$FORM{'soft'}."\,".$FORM{'point'}."\,".$ureho."\n";
$temp = "$now,$FORM{'soft'},$FORM{'point'},$ureho\n";

くらいかなぁ。ほんとに細かいことですけど。

それからこれは根本的な問題ですが、FORMから渡される値をチェックして
ないので、変なのを入れられる可能性がありますね。旧SEGA BBSのように。

渡された値が適切かどうかを調べるのは(僕は)必須だと思います。

No. 287 # R-N 1999/04/30 (金) 03:46
あ、3月だ...、全然気付きませんでした。(-_-;
変な書き方してますね私、指摘されると自分でも思う...。
sprintfは便利ですね。でもなんで%02dの時だけ『0』が...。
私の持ってる本も%02dだけ0が付いてる...。

> FORMから渡される値をチェック...
とりあえず$ENV{'HTTP_REFERER'}のチェックを入れてみます。
って、コレだと投票できないブラウザがあったか...。<SSとか

全部の値をチェックするんだったら投票フォーム部分も組み込んだ方が
楽そうだし、そうしようかな...。<いづれ(^_^;

勉強になりました!

>変なのを入れられる可能性がありますね。旧SEGA BBSのように。
ギクッ!

No. 288 # 1111 1999/04/30 (金) 16:07
111111

No. 289 # 1111 1999/04/30 (金) 16:07
2222222

No. 290 # M.Masuda 1999/04/30 (金) 23:26
こんばんは。

Perlのreaddirでの現象でお聞きしたいのですが。
普通、以下の様な記述で@filesには、ディレクトリ内のファイル&
ディレクトリが入りますが、この配列の中に返される文字列の中に
複数のバイナリが混じるというのは、ディレクトリエントリが壊れ
ているのでしょうか。

opendir(DIR, "./");
@files = readdir(DIR);
closedir(DIR);

特にヌル(\x00)が多量に含まれます。
さらにこの状態のディレクトリを、他のディレクトリにコピー
した時に症状が引き継がれるのは、壊れていると仮定すると
親ディレクトリからの影響が出ているのでしょうか。

またこの症状が出るのは、nfs等で共有しているディレクトリです。
何か分かる事が有りましたら、よろしくお願いします。
ちなみに以下のスクリプトでは問題無く表示されます。
#!/usr/local/bin/perl
$|=1;
print "Content-type: text/plain\n\n";
$_ = system("ls -l ./ 2>&1");
print "$_\n";

No. 291 # 68user 1999/05/01 (土) 07:48
> でもなんで%02dの時だけ『0』が...。
要は桁合わせですな。
Ex. printf("%d,%4d,%04d\n",10,10,10);

> この配列の中に返される文字列の中に複数のバイナリが混じるというのは、
> ディレクトリエントリが壊れているのでしょうか。
うーん、どうなんでしょうねぇ。漢字のファイル名ってこともありますし、
バイナリが混じっているだけで壊れているとは言い切れないです。

> 特にヌル(\x00)が多量に含まれます。
ファイル名にヌルってありだったかなぁ…?

具体的な出力結果を見てみないことには、なんとも言いがたいです。

No. 292 # くにろぅ [E-mail] 1999/05/01 (土) 08:37
あ、しょうもないことかも知れませんが
emiclock の costumes で
Transparent dress (一番下のコスチューム)
を、どうやったら拝めるのでしょうか?

No. 293 # M.Masuda 1999/05/01 (土) 16:05
>漢字のファイル名
これは無いです。

本によると「システムによって保守されるディレクトリ構造の内容」
とあります。という事からエントリが壊れているのかと思った訳です。

しかし、意図的に壊してみることまではさすがにできないので、
困ってしまいました。

もう少し調べてみます。ありがとうございました。

No. 294 # 68user 1999/05/01 (土) 18:09
> Transparent dress (一番下のコスチューム)
> を、どうやったら拝めるのでしょうか?

あはははは。誰もが一度は思った疑問ですね。
僕も知らなかったんで調べてみました。

    1. 30分チャイムを鳴らす設定にする。
    2. alarmを....年............に.....。
    3. 30分チャイムが鳴るまで待つ(0分or30分)
    4. Costumesに…なんとアレが!

ちなみにオリジナルのMac版のドキュメントには以下の記述がありますなぁ。

> < ひとりごと >
> ある日、もとそふと探検隊は某秘境の洞窟の壁に書かれた落書きを発見した。 
> 壁には、「1958年10月24日06時33分」と落書きされていた。これ
> が、いったい何を意味するのかはわからない。
> 洞窟は、さらに奥へと続いていた。仲間と30分に待ち合わせることにして、
> チャイムをセットし、隊長はさらに奥へと進んだ。
> 30分を知らせるチャイムが鳴った。そのとき、隊長の顔は、笑顔に変わって
> いた。ついに秘宝を発見したのだ。


…で見れますか?

うちのemiclockは30分チャイムがなぜか選べないようになってるんですが…
なんでだろ。というわけでソースを1行書き換えて見てしまいました(^^;

No. 295 # 岩本 1999/05/10 (月) 18:40
大変お久しぶりです。岩本です。
とは言っても覚えている人はいないでしょうけどね(笑)

実はUNIXでお伺いしたいことがあります。
crontabでシェルを動かしたいのですがうまくいきません。
以前Masudaさんに「実行時に有効になっている環境変数を
表示させてみて・・・」のアドバイスを頂き、その通りやって
見たところ、確かに環境変数がほとんど指定されていませんでした。
そこで環境変数をスクリプト内で追加設定させたいのですが
どうすればよいのでしょうか。ちなみにスクリプトに
envやsetenvを使って自ユーザログオン時の環境変数を
設定させてみたところ結局実行時に変数は変わってませんでした。

OSはソラリス2.5、マシンはsun7の300です。
ご存知の方、お詳しい方がいらっしゃいましたら
よろしくお願いいたします。

No. 296 # 68user 1999/05/12 (水) 00:43
> そこで環境変数をスクリプト内で追加設定させたいのですが
> どうすればよいのでしょうか。
動かしたいものがshスクリプトなら、先頭付近に
    export HOGE=fuga
書くとか。cshスクリプトなら
    setenv HOGE fuga
てな感じでしょうか。

No. 297 # 岩本 1999/05/14 (金) 19:09
68userさん、ありがとうございました。
無事問題が解決しました。
今後ともよろしくお願いします。

No. 298 # REMAHL 1999/05/16 (日) 01:56
ども、はじめまして。パソコンスクランブルの方でこのページ
をターゲットにしてしまったREMAHLと申します。EUCとリンクフリー
という条件が重なったため、あちらの掲示板にてソースが化ける
例として取り上げさせていただきました。この度は大変失礼しました。

それからスクリプト2、3頂きました。CGI勉強中なので研究材料
として使わせていただきます。これからもよろしくお願いします。

No. 299 # 68user 1999/05/16 (日) 07:47
どもども。ああいう場合に他サイトを例に出すのは
僕もよくやることなので、お気になさらぬよう。

No. 300 # REMAHL 1999/05/17 (月) 23:46
>どもども。ああいう場合に他サイトを例に出すのは
>僕もよくやることなので、お気になさらぬよう。

お気遣い、有り難うございます。

つい最近CGIを始めたばかりなので「CGIの小部屋」は
私のような素人には非常に参考になります。今は人様の
作られたスクリプトを改造している程度なので、まだまだ
分からないことだらけです。もし分からなければこの掲示板で
質問を、と思っていますので、その時はよろしくお願いします。

No. 301 # pz [E-mail] 1999/05/18 (火) 17:48
始めまして。
掲示板を発見したので、感謝の言葉でもと思い書き込みました。
仕事中に壁にぶつかるといつもこのサイトをみて解決の手助けにしてます。
とても助かってます。
これからも宜しくお願いします。





No. 302 # しょいち [E-mail] 1999/05/18 (火) 20:33
こんにちは。
ためになる、きれいでわかりやすいページなので大変よろこんでいます。
(色使いなんかも目に優しくていいですね、コードなんかを白バックで
読むのなんて耐えられませんです ^_^;)
がんばって勉強させていただきます。
これからもがんばってください。

最高にクールです

No. 303 # 68user 1999/05/20 (木) 23:07
お褒めいただき、ありがとうございます>しょいちさん、pzさん

ただ、ここの記述がわかりにくいとか、このコマンドの
この機能が解説されていないなど、悪いところも書いて
いただけると なおうれしく思います。何かお気づきに
なりましたら、また書き込んでください。

No. 304 # hoppy 1999/05/27 (木) 19:59
はじめました、bsdのコマンドマニュアルとして重宝させてもらって
ます。ところで hello worldと一行書いてccでコンパイルしたら
a.outができましたが
./a.out と入力しないと動きません。
単純にa.outと入力して動かすにはどうしたらよいのですか?

No. 305 # 68user 1999/05/27 (木) 20:43
PATH に . を加えれば、カレントディレクトリのプログラムが実行されます。
しかし、セキュリティ上お勧めしません(共用のマシンなら特に)。例えば
    set path = ( . /bin /usr/bin /usr/local/bin )
とすれば a.out だけでも動きます。しかし、誰かが /tmp/ls に
    #!/bin/sh
    rm -rf ~
という内容のプログラムを置いていた場合、あなたが
    cd /tmp; ls
としただけで、あなたのホームディレクトリ以下のファイルは
全て消えます。

ですから、PATHには . は含めない方が賢明です。どうしてもというなら、
    set path = ( /bin /usr/bin /usr/local/bin . )
などと、最後に付け加えましょう(でもお勧めはしません)。

タイプがめんどくさいという理由なら、シェルの補完(Ctrl-DとかTAB)を
有効に使う方がいいと思います。

No. 306 # hoppy 1999/05/27 (木) 21:10
さっそくの解答thanksです
とりあえずset pathの最後に.を追加致します。
シェルの補完はよくわからないので、もう少ししたら
やってみます(^^ゞ

No. 307 # M.Masuda 1999/05/27 (木) 23:54
お久しぶりです。(^^;

やっぱ68Userさんは、プログラマー志望だったのですね。
#当り前と言えば当り前なのかもしれないですが...

ところで、BSDIというOSを知っていますか?
実はうちの環境にソレが入ったのですが、BSD系らしく作法が
少々異なっています。

なにか、知っていたら教えてください。
Linux系(SystmV系?)との操作上の違う所とか注意点とか。
#やっと日本語manを入れて少し分かりはじめたのにまた振り出し...

もちろん漠然と聞いているので、思い付いたような事でいいです。

hoppyさんへ
>シェルの補完はよくわからないので、
コマンドを途中までタイプして、タブキーを押すとうれしい事が
起こりますヨ!

No. 308 # 68user 1999/05/28 (金) 01:47
> やっぱ68Userさんは、プログラマー志望だったのですね。
いや、プログラマというわけでは…。どちらかと言えば、
プログラムを書けるSEかなぁ。

> ところで、BSDIというOSを知っていますか?
名前は知ってますが、使ったことはないです。
# 多分OS名はBSD/OSじゃないですかね。BSDIは会社名。
## ちなみに BSDIのBSDとFreeBSDのBSDは、意味が違います。
### ってことはどーでもいいですね(^^;

> Linux系(SystmV系?)との操作上の違う所とか注意点とか。
うーん、ps の引数の違いくらいしかわからないなぁ
    (Linuxのpsって、BSDともSysVとも少し違ったんだっけ?)。
あとはカーネルが /vmunix か(SysV)、/kernel か(BSD) とか…(ほんとか?)

あと、FreeBSDもLinuxもGNUのソフトをたくさん使ってますが、
BSD/OSがそこらへんを独自に作ってるなら、結構そこらへんで
はまるかもしれません。
# http://www.gnu.org/software/software.html のfileutils、shellutils、
# diffutils、GNUtarあたり。

あと、パッケージ管理(pkg_add/pkgadd)とかユーザ管理(adduser/useradd)
なんてのは各UNIXごとにバラバラなんで、ご注意を。

No. 309 # M.Masuda 1999/05/28 (金) 14:51
どもです(^^;
>プログラムを書けるSEかなぁ。
なるほど、志が高い(^^;

ただ、私の周りにはちょっと偏屈な技術者が多く、人間性は信じら
れない人がおおいです。初心者を馬鹿にしきった口振りや態度など、
誰でも始めは初心者で、識者からの教えられかたでその人間がどの
ように覚えてゆくかが決まると思うのですが...

たとえば、とほほさんとは何度かメールのやり取りをしてますが、
プログラマーな人なのに、おおらかな人間性を感じました。

68Userさんは、くれぐれもそうならない様に期待します。
#これは本心です、いやみじゃ無いので誤解なさらぬように。

> # 多分OS名はBSD/OSじゃないですかね。BSDIは会社名。
> ## ちなみに BSDIのBSDとFreeBSDのBSDは、意味が違います。
> あと、FreeBSDもLinuxもGNUのソフトをたくさん使ってますが、
> BSD/OSがそこらへんを独自に作ってるなら、結構そこらへんで
> はまるかもしれません。
> # http://www.gnu.org/software/software.html のfileutils、shellutils、
> # diffutils、GNUtarあたり。
> あと、パッケージ管理(pkg_add/pkgadd)とかユーザ管理(adduser/useradd)
> なんてのは各UNIXごとにバラバラなんで、ご注意を。
ありがとうございます、ぜんぜんOKです。
こういう事を知りたかったのです。(^^)/

最初に触れたUNIXがLinuxなので、その他のOSやその作法について
はまだまだなんです。
#変更後まだ数日しか経ってないもので。

ただ私は、プログラマー志望では無いので余り深みにはまらぬよう
に慎重にしないと、ついつい...(^^;

ちなみにBSDIは、「Berkeley Software Design Inc」の略だそうです。
プロバイダの商用OSとしてかなり普及していると聞きました。
しかし、私が借りた無料レンタルWebスペースのOSは Linuxでした。

No. 310 # M.Masuda 1999/05/28 (金) 14:53
>プログラマーな人なのに
ここ、訂正します。
これじゃ、偏見ですね。(^^;
プログラマー方すいませんでした。

Prev< No. 280〜310> Next  [最新発言に戻る] [過去ログ一覧]