|
> デバック目的だけの機能では無いだろうし、本来の目的は何だろう 「なぜその機能があるのか」と考えるのは、「C言語にはなぜ構造体があるのか」 というのと同じで、結局想像するしかないと思います。 でも、なぜ僕が wrapper.cgi?file=hoge.cgi(A) でなく wrapper.cgi/hoge.cgi(B) という引数の取り方をしたのかは説明できます。 hoge.cgiが ?data=content などと、GET方式でデータを取得する CGIだった場合、(A)より(B)の方が hoge.cgiに与える影響が少なく、 さらに wrapper.cgi 自体のコードも短くなるからです。 あと推測するに、ユーザにCGIであることを意識させない、という のもあるでしょう。例えばcgiwrapは /cgi-bin/cgiwrap/~username/hoge.cgi というURLでアクセスすることで、所有者権限でCGIを実行できます。 /cgi-bin/cgiwrap?user=username&cgi=hoge.cgi だったとしたら…思いつく限りではSave Asでファイルをセーブした際、 全てのCGIプログラムはcgiwrapというファイル名で保存されるでしょう。 ついでに言えばディレクトリのような階層構造を、素直な形で表現できます。 例えば http://www.freebsd.org/cgi/cvsweb.cgi など。 > そうするとPerlだと変数を結合するためのピリオドが、シェルの > 場合頭にピリオドが付くと何を表すのか。 そういう場合にprint文で値を表示してみてほしいわけです。例えば > open(EXEC,"| .$ENV{PATH_INFO} 2>&1"); の前に print "PATH_INFO = $ENV{PATH_INFO}\n"; と書いたとすれば、$ENV{PATH_INFO} eq "/hoge.cgi"であることが わかるでしょう。ならば、".$ENV{PATH_INFO}" eq "./hoge.cgi" と なります(これに確信がもてなければ print ".$ENV{PATH_INFO}\n"; を挿入してください)。で、「./hoge.cgi」とは何かと言うと、カレント ディレクトリにある hoge.cgi というスクリプトを実行しているだけですね。 |
|
なるほど、やっと理解できました。 68Userさんがわからないと言っていた事や、自分の勘違いが。 理解したと思っていた事が、全然理解できていなかったのですね。 やはり他の仕事の片手間のように勉強しているのと、基礎からしっか り勉強している人にはかないませんネ。 ちょっとプログラミングに深入りしすぎたかも知れません、web上で よく見かけるプログラム程度なら書けるかもしれませんが、システム や応用した機能みたいな部分(少なくとも私から見ると)は、ちゃんと 勉強しないと難しすぎます。 最近、業界では有名(らしい)なプログラマー人とファイルロックの 事で話しをする機会がありましたが、私とは基礎概念が違いました。 もう少し、時間をかけて基礎的な部分から修行したいと思います。 wrapper.cgi、ありがとうございました。 |
|
UNIXは初心者です、ここで質問して良いかもわかりませんが、よろしければお教え下さい。 OSはだいぶ古いSONY製のNEWS−OSというのを使用しています。相当古いマシンなので、また UNIXなのでちょっと恐くてさわれないのですが、基本的なコマンドは少し勉強しました。 前置きが長くなってしまいましたが・・・ハードディスクの空き容量を調べたいと思うのですが、どの ようなコマンドを使えば良いのかよくわかりませんでした。どうぞ、お教え下さい。そういうコマンドとか は無いのでしょうか? |
|
NEWS-OSはよく知りませんが、df -kで Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/sd0s1a 118959 25837 83606 24% / などという表示が出るんじゃないでしょうか。これだと 118M中 25M(全体の24%)を使用中ってことです。 |
|
はじめまして。他にはないCGIスクリプトばかりで大変助かっています。 それでですが、.htaccessで <files browser.log> deny from all </files> <files referer.log> deny from all </files> : : というような設定がありますが、 <files *.log> deny from all </files> <files *.dat> deny from all </files> とやるだけで全ての***.log、***.datファイルが見れなくなります。 どうぞお試しくださいませ。(知ってたらごめんなさい。(汗)) |