68user's page 掲示板

Prev< No. 2075〜2091> Next  [最新発言に戻る] [過去ログ一覧]
No. 2075 # harap 2001/07/10 (火) 16:04:09
>>2074 skel.103M
ありがとうございました。
うまくできました。

No. 2076 # harap 2001/07/10 (火) 17:26:13
たびたびすいません。
現在Cシェルにてプログラムを作成中なのですが
echoで表示している文字列にカラー設定することは可能でしょうか?

No. 2077 # 68user 2001/07/10 (火) 18:34:54
>>2071 skel.103M
> 「sender-SMTPとreceiver-SMTPを識別するためのコマンド」
> …これは正しいのでしょうか?
ん〜、HELO で envelope がクリアされるなら、中継サーバは
HELO をしゃべっちゃいけないので、結果として識別できるの
かなぁとは思うのですが…。どうなんでしょう。

>>2076 harap
> echoで表示している文字列にカラー設定することは可能でしょうか?
端末に依存しますが、可能です。
    perl -e 'print "\x1b[31m"' (赤)
    perl -e 'print "\x1b[32m"' (緑)
    perl -e 'print "\x1b[30m"' (黒)
などなど。kterm や TeraTerm などならこれで OK でしょう。
    echo ^[[32m
でもいいです (^[ の部分は直接 ESC 文字を打ち込みます。tcsh 上なら
C-v ESC、emacs 上なら C-q ESC)。
    perl -e 'print "\x1b[31mhoge\x1b[32mfuga\x1b[30m"'
などと続けて書いてもいいです。

# 他にコントロールコードを直接出力できるコマンドって
# ありましたっけ? (stty とか tset の方面で)

google で「エスケープシーケンスード ESC 色」などで検索して
みて下さい。

>>2072 Ten
うーむ、Windows でメールを読まないので…。

No. 2078 # harap 2001/07/11 (水) 09:53:30
>>2077 68user
ありがとうございました。
お礼が遅くなってすいませんでした。
やってみます。

No. 2079 # るは [E-mail] 2001/07/17 (火) 15:26:59
はじめまして。
最近UNIX-CでNetwork Programmingを始めた者です。よろしくお願いします。
こちらに掲載されているC言語のechoプログラム(echo-server-1.c)を
そのまま書き写して実行したのですが、先頭の1文字しか返ってきません。

read_line()の戻り値が [0 or 1] なので、
94行目で、文字列が1文字だけになってしまいます。
read_line()の戻り値を [0 or 文字数] に修正すればよいと思います。

私の勘違いでしたらすみません(^^;

No. 2080 # 68user 2001/07/17 (火) 15:39:02
>>2079 るは
ありがとうございます。テスト不足で失礼しました。修正しておきます。

最初はちゃんと動いていた気がするんだけど、いつエンバグしたのかなぁ?

No. 2081 # skel.103M [E-mail] 2001/07/19 (木) 16:07:11
いつもお世話になってるskel.103Mです。

>>1978 skel.103M
>>1980 68user
>>1981 skel.103M
このことについて、news:fj.mailに記事が投稿されているのを(今さらなが
ら)発見!:
        Message-ID: <tzzlmmezl9x.fsf@nightmare.hm.taito.co.jp>
…投稿日は2001/06/27(水)となってますね。

No. 2082 # 猫じゃらし 2001/07/29 (日) 15:00:20
はじめまして。
perlを勉強中の者です。
いきなりで恐縮ですが、質問です。

perlのIO::SOCKETモジュールを使ったhttpクライアントを作っているのですが
画像を読み込めないんです。ちなみに、htmlはうまくいっています。
今作っている物では、他サーバーからファイルを読みとり
自分のサーバーに保存という作業をやらせたいんです。
しかし、画像ファイルを読み込むと改行が不要な位置に
改行入ってしまいます。
画像も読み込めるようにするにはどう作りかえたら良いのでしょうか?

ソース
http://uchu.hypermart.net/image.txt

No. 2083 # 68user 2001/07/30 (月) 06:26:03
>>2082 猫じゃらし
ちゃんと環境を書きましょう。Windows ですか?

    1. ヘッダもそのまま 2.gif に出力してしまう。
    2. 改行が入ってしまうなら、Windows でテキストモードになっているのかも。

ということで、

    # ヘッダまでを読み飛ばす
    while (<$remote>){
        last if ( $_ eq "\n" || $_ eq "\r\n" );
    }
    # ここからが画像データ
    while (<$remote>){
        $outdata .= $_;
    }
    open(OUT, "> 2.gif");
    binmode(OUT);
    print OUT "$outdata";
    close(OUT);

でどうでしょう。

foreach を使わず while を使うのは、foreach の () 内はリストを要求する
ので、<$remote> はリストコンテキストで評価され、
  foreach ("1行目のデータ", "2行目のデータ", ..., "最終行のデータ"){
と展開されてしまうからです。よって、
    foreach (<$remote>){
        last if ( $_ eq "\n" || $_ eq "\r\n" );
    }
の時点でファイルハンドル <$remote> から全てのデータを読み
切ってしまうので、last で抜けた後には <$remote> という
ファイルハンドルにはデータが残っていません。

    foreach (scalar(<$remote>)){
で強制的にスカラーコンテキストにするならいいんですが、
この場合は素直に while を使った方がよいでしょう。

No. 2084 # 猫じゃらし 2001/07/30 (月) 14:35:52
>>68user
環境を書き忘れてすいません、マナー違反でしたね、、、
ちなみに、環境はWinMEでActivePerlを動かしている状態です。

さて、68userさんのレスにあったものをペーストして
ソースは下のようになりました。
http://uchu.hypermart.net/image2.txt

これで無事動かすことができました。ありがとうございます。
このHPは、これからも勉強参考にさせてもらいますね。
ではでは、、

No. 2085 # kazu 2001/07/30 (月) 16:17:17
はじめまして超初心者の者です。
質問なのですけど会社で渡されたCシェルのプログラムに

mailx -s

というコマンドがありまして調べても見つかりません。
UNIXのことなどさっぱり分からないので困っています。
知っている人がいたら教えてください。
お願いします。m(__)m

No. 2086 # 68user 2001/07/30 (月) 17:36:39
>>2085 kazu
ちゃんと OS 名やバージョンなどの情報を書きましょう。

> mailx -s
mailx は SystemV 系 UNIX のコマンドです。Linux にも
あるようですが、*BSD にはないはずです (FreeBSD なら
ports で mail/mailx がありますが)。

まぁメールの送信だけなら mail も mailx も同じようなもの
なので、そのまま mail に読み変えればよいでしょう。

No. 2087 # sato.k [E-mail] 2001/07/31 (火) 11:41:58
はじめまして。早速なんですが、UNIXの運用について質問があります。ログインユーザーごとに使用したい文字コードが違うんですが、どのように設定したらよいのでしょうか?教えてください。

No. 2088 # 68user 2001/08/01 (水) 15:09:22
>>2087 sato.k
ログインユーザごとに ~/.cshrc や ~/.profile で
    setenv LANG ja_JP.eucJP
とか
    LANG=ja_JP.eucJP; export LANG
とか書くか、/etc/profile や /etc/csh.cshrc でユーザ名をみて
適切な locale を設定するのはどうでしょうか。

具体的な locale 名や、/etc/ の下のファイル名などは
OS によって違いがあるので、お使いのシステムではどうなって
いるか確認して下さい。

FreeBSD なら /etc/login.conf に各ロケール分のログイン
クラスを作るのもいいかな。

No. 2089 # 68user 2001/08/04 (土) 17:34:26
>>2079 るは
> こちらに掲載されているC言語のechoプログラム(echo-server-1.c)を
> そのまま書き写して実行したのですが、先頭の1文字しか返ってきません。
遅くなりましたが、さきほど直しました。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/echo-server-1.c
ご指摘ありがとうございました。

No. 2090 # 68user 2001/08/05 (日) 04:11:29
UNIX の部屋をやっと CVS に突っ込みました。悲願達成。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/unix/
これで思う存分更新ができます。

    - コンテンツをローカルでも修正し、web サーバでも修正して、
        どっちが最新版かわからなくなる
    - 前回から更新した部分はどこだったろうか? と忘れてしまう
という経験がある方は、CVS で管理してみてはどうでしょうか。
僕はもう CVS なしでは生きていけません。

なお、普通は http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/
のように cvsweb でリポジトリ公開なんてことはしません (笑)
公開しなくても CVS で管理できます。

No. 2091 # 紅の猫 [E-mail] 2001/08/05 (日) 10:11:27
>> こちらに掲載されているC言語のechoプログラム(echo-server-1.c)を
>> そのまま書き写して実行したのですが、先頭の1文字しか返ってきません。
>遅くなりましたが、さきほど直しました。
\nの所に\0を書き込んでる気がします。

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