|
ちょっと質問!です。 すいませんシェルコマンドのmailって有りますよね。 #みんな使ってます? 私が聞いたmailコマンドの使い方ですが、 ================= mail "送信先のメールアドレス" <ENTER> Subject: "メールタイトル" <ENTER> メール本文、etc. 最後に"."ピリオドのみで終了。 ================= ここまでを、聞きました。 #OSによっては違うかもしれないけど。 http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#sendmail を見ると、sendmailとほぼ同じ操作ですよね。 シェルの場合、sendmailとmailコマンドの違いは、自動的にSubject:等 の文字がエコーされる事ぐらいなのですか? CGIで直接メールを出す場合、レスキューさんのWebFromを参考にすると sendmailに直接書込んでいますが、CGIで直接sendmailに書込みした場合 のエラーメッセージを取得したい時は、sendmail実行時にどんなオプシ ョンを付ければいいんでしょうか? 前にsendmailに実際に転送された手順を表示する様なオプションが ある事を聞いたのですが忘れました。(^^ゞ #man sendmailで調べたら -N dns ってのが怪しいのですが意味が #よく解からん。(ToT) ##前から思っていたけど、英語圏で生まれていたらもっと詳しくなっ ##ていたろうな。だってマニュアルって英語だもん(^^ゞ |
|
>おろ、TABLEまで何とかしようという魂胆で? 志が高いですね(笑) いや、入れ子構造だと決め付けて、作ってみてから気が付きました(^^; >僕が昔に書いたのは http://X68000.startshop.co.jp/~68user/tmp/tag.txt おお、ちゃんと < や > の対応もチェックしてあるんだぁ… なるほど、スタックを使うので、入れ子にならない例外的な処理も やりやすそうですね。 ウチのは、再帰を使ったので、スタックを直接操作できないんです(^^; 以前「とほほ」さんとこに書き込んだんですが、一応 http://www2s.biglobe.ne.jp/~cru/library/junk/tag.txt に置いときます。 例示した文字列では、</hr>の処理が 68user さんのとは違ってます。 ># 昔 yaccとlexで組もうとした事があるけど、エラーから回復させる事が ># できずに(=文法エラーにぶつかると止まってしまう)挫折しました(^^; yacc は私も挫折しました…ただし、68user さんよりはもっと手前でですが(^^; ところで、HTMLみたいなものも、yaccで解析できるんでしょうか? BNFで定義できれば問題ないのかな…? lexの方を独自の切り出しルーチンに替えればいいのかな…? |
|
crontabコマンドについて質問させてください。 あるプログラムAをcrontabで自動起動させたいのですが、 そのプログラムAはCシェルでしか動きません。 そこでcrontabで呼出すシェルスクリプトBを作成し、Bの先頭で Cシェルを指定し、次に必要な環境変数を設定し、 次にAを実行するようにしたのですが、 うまくいきませんでした。 Bにenvをいれて、環境変数を出力するようにしたら、 path等がshのデフォルトのままでした。 ちなみにAはオラクルに接続しSQL処理をおこないます。 どなたかご存知の方がいらっしゃいましたら、お知恵をお貸しください。 |
|
> http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#sendmail > を見ると、sendmailとほぼ同じ操作ですよね。 うーん、mailコマンドっていうのはメーラーなんですよ。メールも 読めるし返事も書ける。低機能ながら立派なメーラーです。一方、 sendmailというのはSMTPサーバ兼(低レベルなら)SMTPクライアントって 感じでしょうか。 # しかし上のリンク先の「SMTPポートに繋げてメールを送る方法」って # のは大嘘ですね。誰だ、こんなの書いたのは。…俺か(^^; > CGIで直接sendmailに書込みした場合のエラーメッセージを取得したい時は、 宛先がなかった場合などに返ってくるメールを指して「エラーメッセージ」と 言ってらっしゃるなら、 http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi?print+99020031.txt など。 > #man sendmailで調べたら -N dns ってのが怪しいのですが意味が > #よく解からん。(ToT) -Nは-N failure,successなどと指定できます。manを読むときは、 日本語マニュアルを使って楽をしましょう。 http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=sendmail&dir=jpman-3.0.0%2Fman > あるプログラムAをcrontabで自動起動させたいのですが、 > そのプログラムAはCシェルでしか動きません。 状況がよくわかりませんが、プログラムAがCシェルスクリプトなら プログラムAの1行目に #!/bin/csh -f などと書いてあるでしょうから、crontabにプログラムAのスクリプト名を フルパスで書いておけばいいです。PATHは、プログラムAの先頭で set path=(/bin /usr/local/bin /usr/sbin ....) と書いてもいいですし、crontabの設定ファイルの先頭に PATH=/bin:/usr/local/bin:/usr/sbin:... と書いてもいいです。例えば PATH=/bin:/usr/local/bin:/usr/sbin:... 0 * * * * /home/user/bin/hogehoge とか。 |
|
> yacc は私も挫折しました…ただし、68user さんよりはもっと手前でですが(^ こっちも挫折は早かったですよ〜。 http://X68000.startshop.co.jp/~68user/tmp/html.l http://X68000.startshop.co.jp/~68user/tmp/html.y うーん、短いなぁ。今見ると、どこがどういう意味なのかさっぱり(笑) |
|
どうもありがとう68userさん。(^^)/ > > CGIで直接sendmailに書込みした場合のエラーメッセージを取得したい時は、 > 宛先がなかった場合などに返ってくるメールを指して「エラーメッセージ」と > 言ってらっしゃるなら、 > http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi?print+99020031.txt > など。 直接行ってみたら、なんとよく行くページの中。 ここの所忙しく、あまり見に行って無かったらなんとリアルタイムな! 灯台下暗しとは、この事? > -Nは-N failure,successなどと指定できます。manを読むときは、 > 日本語マニュアルを使って楽をしましょう。 > http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&man=sendmail&dir=jpman-3.0.0%2Fman こんな便利があるとは!なんともうれしい限りです。(^^ゞ でもうちの環境ではLinuxなので適当に、コンバート?しながら見てみます。 だけど、また暫く睡眠時間が少なくなりそう....(T_T) ちなみですが。 http://X68000.startshop.co.jp/~68user/Cgi-room/printenv.cgi で書いてあるなかで REMOTE_PORT を、「ポート番号とは全く関係なくて、httpdをforkした回数じ ゃないかなぁと思ったらこれも違うみたい。よくわからん。」と書いてありましたが、そのまんま です。(^^) つまりクライアント側が、webサーバーの80ポートにアクセスする際に使用する、クライアント側の ポートの番号です。 私の使用しているパケットモニターで確認しました。 クライアント側アプリケーションが、通信の際にソケットを生成するとその時に自動的に割り当て られるみたいです、アプリの処理方法はそれぞれでなんでしょうが、通信セッション(っていうのかな) が終わる毎にクライアント側のポートが変わりました。 #まじめに勉強した訳でなくパケットモニターでの通信内容をみて書いてます。(^^ゞ |
|
>http://X68000.startshop.co.jp/~68user/tmp/html.l >http://X68000.startshop.co.jp/~68user/tmp/html.y ありがとうございます。なんとなく雰囲気はわかるような気がします(^o^;ゞ ただ、lexでは"<BODY>"とかをトークンとして扱ってますよね。 こういう方法で <BODY GBCOLOR="#ffffff"> のような属性を持ったものも 扱えるのでしょうか? よくは分かってないんですが、lexではトークンを正規表現で切り出しますよね。 だから、<>内をまとめて切り出すのは難しいような気がするのです。 それとも、<>内はまた別のルールでトークンに切り分けるのかな…? |
|
> REMOTE_PORT どうもです。これを設置したのは去年の6月ですから、その当時はよく わかってなかったようですね。ちなみに当時は、 「サーバ側はポート80で待っているが、一旦コネクションが確立されると、 次のクライアントのために一刻も早くポート80を開けなければならないので、 新しいポートが(CGIに)割り当てられる。CGI側はそのポートを通じて クライアントと通信しなければならない」 のではないかなぁ…と思っていた記憶があるような ないような。 > でもうちの環境ではLinuxなので適当に、コンバート?しながら見てみます。 いや〜、おそらくLinuxにもjmanはありますよ。僕はLinux知らないけど、 ないはずがないと思います。 > ただ、lexでは"<BODY>"とかをトークンとして扱ってますよね。 どうなんでしょう? 僕は挫折した人間なのでよくわかりませんが(^^; weblintなどもperlでやってるんで、HTMLチェッカはyacc&lex向きじゃ ないのかもしれませんね。 |
|
>weblintなどもperlでやってるんで、HTMLチェッカはyacc&lex向きじゃ >ないのかもしれませんね。 なるほどー 文脈自由文法とかがちゃんと分かってないので、まだ?なんですが…(^^; Cで言語処理系のプログラムを書く機会があったら、またちゃんと勉強しようと 思いつつ、そのままになってるんですが、Windowsなんかを使ってるとどんどん 遠ざかって行くような気がします(^^;;; 日本語マニュアルもありがとうございました。 とりあえず、ウチのサーバーのmanの出力は読みやすくはなったのですが、 やっぱ日本語だと助かります(^^; |
|
68userさんへ ありがとうございます。 参考にさせて頂き、もうちょっとやってみます。 |
|
こんにちは。 CGI実行中のバッファのフラッシュについてなんですが。 具体的には、あるサーバーのログ20Mb以上を圧縮して取り出すのに、 CGIで圧縮ファイルを生成→生成されたファイルをDownLoadする。 というCGIで、全ての処理にかなり時間が掛るのと、ブラウザの TimeOutをさける為に、処理過程を画面に出力しながら処理を続け る動作のスクリプトです。 $|=1でバッファのフラッシュを指定できますよね。 確かに、シェル上で直接実行すると動作の確認が出来ましたが、 ブラウザ上から実行すると、スクリプトが全て終わってからでない と画面に出力されません。 他で聞いたところによるとサーバー(Apacheです)が、CGIの処理が 終わらないとダメみたいです。 ただ、その際STDOUTをクローズすると出力されると言っていたので 、実験しましたがダメでした。 #close後は出力されない また、ある程度の出力(環境で違うらしい)が溜まるとWebサーバー がバッファをフラッシュするとも書いてありましたが(未確認)、 無駄な出力をさせたくありません。 なにか、いい方法は無いでしょうか? >いや〜、おそらくLinuxにもjmanはありますよ。僕はLinux知らないけど、 >ないはずがないと思います。 見つけたんですが、ローカルコンソール(本体)上でxの仮想コンソール? からなら表示できるんですが、telnetで指定するとmanを表示している? lessが2バイト文字に対応してないみたいで、読めません。(; ;) jmanってコマンドですよね、それも無いです。(T_T) #そもそもtelnet上のmanで日本語表示はダメなんでしょうか? #ちなみにtelnetは Tra Termを使ってます。 >> REMOTE_PORT いやーパケットモニターで生の通信内容見てると、結構勉強になります セキュリティーとかいろんな事の考え方も変わりますね。 |
|
つまり、処理結果を小だしに表示させてタイムアウトを防ぎたいわけですね。 http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi などはそのように できていますね。僕も前に疑問に思って質問したのですが、結局ローカルでは うまくいきませんでした。 で、そういう場合はnphスクリプトを試してみてはいかがでしょうか。とほほさんの webに解説があったはずです。 > #close後は出力されない そうですね。closeするとコネクションは切れます。 > lessが2バイト文字に対応してないみたいで、読めません。(; ;) FreeBSDではjlessというのがあり、環境変数でLESSCHARSETなどを 設定する必要があります。Linuxもそういうのはないですか? > jmanってコマンドですよね、それも無いです。(T_T) んー、そのサーバを誰が管理しているのか知りませんが、 ただ単にインストールしてないだけ、ってことはありませんか? 誰かLinux使いの方いません?(^^; |
|
>http://www2e.biglobe.ne.jp/%7es-hasei/cgi-bin/wwwlng.cgi など >はそのようにできていますね。僕も前に疑問に思って質問したのです >が、結局ローカルでは うまくいきませんでした。 これって見てみたんですが、わかりませんでした。(T_T) #この行だけ見て、暫く解析してたり発言をみていたので時間食って #しまった! >で、そういう場合はnphスクリプトを試してみてはいかがでしょうか。 >とほほさんのwebに解説があったはずです。 この行を、後で見直して思い出しました。 これって解説ページを後で試そうとブックマークに入れっぱなしでし た。 後日試してみます。 #誰かホントに1日を30時間に....(エーかげんにしなさい!?) >> lessが2バイト文字に対応してないみたいで、読めません。(; ;) > FreeBSDではjlessというのがあり、環境変数でLESSCHARSETなどを > 設定する必要があります。Linuxもそういうのはないですか? j*シリーズは私の探したところ見つかりませんでした。(; ;)x2 #どうもJフレンドリーなのはFreeBSDの方が上手みたいですね。 でも日本語マニュアル >んー、そのサーバを誰が管理しているのか知りませんが だれも管理してなかったりして。(^^ゞ セキュリティーのため詳しくは書けませんが、非常に恐いサーバで す。 #いろ〜んな意味で。 >ただ単にインストールしてないだけ、ってことはありませんか? そうかもしれないけど、仮にパッケージには入っていてもインスト ールしてまでは弄れないだろうなぁ。 試験環境として自由に触らせてもらってはいるけど、これ以上私に は言えない...。 でもここ、 http://www.jp.freebsd.org/man-jp/search.html よく出来てるんで、利用させてもらいます。 どうもです。(^_^)V |
|
こん**は >>j*シリーズは私の探したところ見つかりませんでした。(; ;)x2 こちらかと http://www.linux.or.jp/jman/ LANGがja_JP.ujisなら /hoge/man/ja_JP.ujis以下検索しますよーん |
|
どうもです、68userさん。(^^ゞ >で、そういう場合はnphスクリプトを試してみてはいかがでしょうか。 >とほほさんのwebに解説があったはずです。 やってみました。おかげで思うとおりの結果が得られました。 ありがとうございました。 これで忘れられてたブックマークもうかばれるでしょう。笑 ちょっと試験でいろいろやってみましたが、これってhttpサーバーが リクエストに対して(GETやHEAD等)を判断して返す処理と同じ事を、 CGI側で行なうって事なんですね。 と言う事は、Apacheでサポートしていない(と思う)DELETEとかOPTIONS を指定するとnphのCGIでいろんな事出来そうですね。 #でもちゃんとセキュリティーを考えないと恐いけど(^^ゞ ありがとうございます。>ABCDEFGさん。 >>j*シリーズは私の探したところ見つかりませんでした。(; ;)x2 よく探したら有りました! #なんて探しかたの悪いやっちゃ(^^ゞ http://www.linux.or.jp/jman/ これってうれしすぎる!!! そのついでといっちゃなんですが、その環境を使えるようにする方法を 教えては頂けないでしょうか。 #調子よすぎかな!?(^^ゞ つまり、自分の環境でj*環境を使う方法です。 最初からの設定で、シェルはbashを使っています。 環境ファイルは ~/.bashrcデスよねぇ。 ここにどんな記述をすればいいのか教えてくれるとうれしいです! 今の設定はこうなっています。 $ more ~/.bashrc # .bashrc # User specific aliases and functions # Japanese environment setting. if [ $TERM = "kterm" ] || [ $TERM = "kon" ]; then LANG="ja_JP.ujis" else LANG="C" fi export LANG alias ls='ls -F --color=yes' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi ↑ここまでです。 シェルはあんまり勉強してないので、人に教わったlsのalias行を 追加したぐらいで、構文の意味はぜんぜん分かりません。 #多分jmanpath=hogehogeとかやるんでしょうね。 日本語のマニュアルが使えれば今までの苦労も少しは....(^_^)V |
|
すいません、今度は名前の書き忘れだ〜 下の書込みは私です。 m(_ _)m |
|
すいませんも一つ質問です。 /var/log/messagesに、 sun last message repeated 3 times というメッセージが5分置きくらいに出力されるんですが、 これって何か分かります? #質問2でした。(^^ゞ |