68user's page 掲示板

Prev< No. 2600〜2700> Next  [最新発言に戻る] [過去ログ一覧]
No. 2600 # あや 2002/03/23 (土) 15:00:17
早速ありがとうございます。
210.188.fff.6/31 として 6と7がIPとして有効。
/31と言うことで255.255.255.254としていたのですが、
7の場合は255.255.255.255とする理由をご伝授頂ければ勉強になります。

ww# ping 210.188.fff.6
PING 210.188.fff.6 (210.188.fff.6): 56 data bytes
ping: sendto: Can't assign requested address


と、続いて
www# ping 210.188.fff.7
PING 210.188.fff.7 (210.188.fff.7): 56 data bytes
ping: sendto: Can't assign requested address


と、続くようにはなりましたが。

何度もすみません。宜しくお願い致します。

No. 2601 # 68user 2002/03/24 (日) 01:23:52
いまさらながら気づいたのですが、
>>2597 あや
> ifconfig_fxp0_alias1="inet 210.188.fff.6 netmask 255.255.255.254"
> ifconfig_fxp0_alias2="inet 210.188.fff.7 netmask 255.255.255.254"
これは根本的に無理でしょう。210.188.fff.6/31 ってことは、
    210.188.fff.6 … ネットワークアドレス
    210.188.fff.7 … ブロードキャストアドレス
となってしまい、IP アドレスを1つも振ることはできません。ネットワーク
アドレス部は 30 ビット以下でないとおかしい。

うちの FreeBSD 4.4-RELEASE でも
    # ifconfig vr0 inet 10.1.1.1 alias netmask 255.255.255.254
とすると、
    ping: sendto: Can't assign requested address
となりました。

>>2599 hsj
> http://www.freebsd.org/ja/handbook/configtuning-virtual-hosts.html
に従って、
    # ifconfig vr0 inet 10.1.1.1 alias netmask 255.255.255.252
    # ifconfig vr0 inet 10.1.1.2 alias netmask 255.255.255.255
としたら OK でした。

No. 2602 # 小僧 2002/03/25 (月) 10:10:07
>>2595 68user
お世話になります。

色々調べて頂いてありがとうございます。
その後、調査をした結果、方法がわかりました。
#mount -V cdrfs -r -o nocase /dev/cd0 /mnt
コマンドで、大文字、小文字を判定してくれました。
必要なオプションは"-o nocase"だったようです。

時間を割いて調査して頂き、ありがとうございました。

No. 2603 # hsj [E-mail] 2002/03/26 (火) 01:31:37
>>2601 68user
> これは根本的に無理でしょう。210.188.fff.6/31 ってことは、
> 210.188.fff.6 … ネットワークアドレス
> 210.188.fff.7 … ブロードキャストアドレス
> となってしまい、IP アドレスを1つも振ることはできません。ネットワーク
> アドレス部は 30 ビット以下でないとおかしい。

あ、そりゃそうですね・・・。
設定にだけ目がいって基本的な部分を見落としてました(苦笑

そういえば、本題とは関係ありませんが件のページの、
> システムは 10.1.1.0 には 10.1.1.1 として, 202.0.75.20 には
> 202.0.75.17 として現れるようにします.
は、やっぱり「202.0.75.16 には202.0.75.17 として〜」と
書きたかったんでしょーか。

>>2600 あや
> 255.255.255.255とする理由をご伝授頂ければ勉強になります。

これはFreeBSDの場合はそう言うモンだとしか。
ちゃんと調べたわけではありませんが、ルーティングとかの絡みでの
単なる実装上の都合ではないでしょうか。

No. 2604 # 68user 2002/03/26 (火) 10:46:40
>>2603 hsj
> 「202.0.75.16 には202.0.75.17 として〜」と書きたかったんでしょーか。
原文は
    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-virtual-hosts.html
        We want the system to appear at 10.1.1.1 through 10.1.1.5 and
        at 202.0.75.17 through 202.0.75.20.
なので、
    10.1.1.1 から 10.1.1.5 まで、202.0.75.17 から 202.0.75.20 まで
てなところではないでしょうか。

誤訳かなぁと思うのですが、自信なし。

No. 2605 # あや 2002/03/26 (火) 23:30:03
ご教授、本当にありがとうございました。m(_ _)m
今回、全部ではないですが理解出来た部分が増えました。m(_ _)m

元々のレンタサーバからの設定が通常とは違うのか、かなりの時間を
経て本日回答は 255.255.255.255 設定にして下さいとのことでした。
ping すると 返ってくるので、こういう設定もあるのかと 又 少し頭を
かかえたりもですが。(ーー;

本当にほんとうに、ありがとうございました。m(_ _)m m(_ _)m m(_ _)m

No. 2606 # ふくし [E-mail] 2002/03/27 (水) 13:20:44
ActivePerl について質問です。
(ActivePerl-5.6.1.631-MSWin32-x86.msi を使っています)
Windows 2000 から`拡張子 pl を使うと、
    C:\> foo.pl
のようにコマンドのように実行できるようになりましたが、
<> を使ってコマンドラインからファイルを入力すると、
引数にファイル名を渡すと OK ですが
(C:\> foo.pl bar.txt のような状態)
インプットリダイレクションすると NG です。
(C:\> foo.pl < bar.txt のような状態)
症状は、1行も読み込みません。
これはこういう現象なのでしょうか?
内部的になにが起こっているのでしょうか?
もしなにかわかりましたらご教示ください。

No. 2607 # 小僧 2002/03/28 (木) 12:52:57
お世話になります。
また質問をさせて頂きます。

AIXサーバ(ver 4.3.3)から、ファイルを3490テープに出力し、
そのファイルをホスト(S/390)が受取り、処理を行う、
という運用があるのですが、AIXサーバからファイルを3490テープに
出力する方法がまったくわかりません。

上記質問とは関係のない、3490テープに関する情報でも構いませんので、
ご存知の方がいらっしゃいましたら、情報をアナウンスして頂ければ幸いです。

また、必要な情報が何なのかも分かっていません。
「これを読んで勉強してこい」という情報でも構いませんので、
宜しくお願い致します。

No. 2608 # sio 2002/03/30 (土) 18:27:52
POP3についての質問です。

Webメールクライアントに興味があり、
初めてFreeBSDをインストールしたのですが
事ある毎に何日も嵌り続けています(^^;
今回、問題の切り分けも自力で出来ずに悩んでいます。
何か良いアドバイスを頂ければと思い書き込みさせて頂きます。

FreeBSD + checkpassword を使いPOPサーバーを起動しています。
例えば User@bsd.com 宛のメールを閲覧するのにPOP3Client.pmを使った
perlスクリプトなのですが何故か、私の組んだサーバーを含むいくつかの
サーバーで「ユーザー認証が出来ません」
ただ、どのサーバーも telnet で 110ポートへ接続して
> USER User
> PASS Pass
> LIST
とすると認証され一覧も表示されます。

Web上で見つけた他のクライアントソフト(peepmail)で試したのですが
同じように特定サーバーで認証エラーが発生します。

その後SOCKET部分の問題かと思い
参考文献によくあるような
            〜 略 〜
            select(SOCKET); $|=1; select(STDOUT);
            print SOCKET "USER $username\r\n";
            print SOCKET "PASS $passwd\r\n";
            print SOCKET "LIST\r\n";
            〜 略 〜
では
+OK <8182.1017479300@bsd.com>
といった返事しか得られなかった為に
            〜 略 〜
            select(SOCKET); $|=1; select(STDOUT);
            print SOCKET "USER $username\r\n";
            $tmp = <SOCKET>;
            print SOCKET "PASS $passwd\r\n";
            $tmp = <SOCKET>;
            print SOCKET "LIST\r\n";
            $tmp = <SOCKET>;
            〜 略 〜
又は
            〜 略 〜
            select(SOCKET); $|=1; select(STDOUT);
            print SOCKET "USER $username\r\n";
            print SOCKET "PASS $passwd\r\n";
            sleep(1);
            print SOCKET "LIST\r\n";
            〜 略 〜
とした所、サーバーからの応答が得られました。

この事と関係しているのでしょうか?
POP3Client.pm の内容も見たのですが全然分かりません。。。

原因はどの辺りにあるのか、アドバイスを頂けないでしょうか。

No. 2609 # sio 2002/03/30 (土) 22:44:58
自己レスです。

POP3Client の呼び出しで
> TIMEOUT => 60
というタイムアウト指定項目がありこれを
設定した所、無事に動作致しました。

結局の所、反応の遅いサーバーではタイムアウト指定を
してあげないといけなかっただけのようです。

1週間以上悩んでいた事が
BBSへ書き込んで数時間で解決しました(^^;

No. 2610 # 68user 2002/03/31 (日) 01:23:01
>>2609 sio
DEBUG=>1 としておけば気づきやすかったかもしれませんね。

No. 2611 # hama 2002/04/09 (火) 16:35:16
SOCKETを使ったHTTPクライアントソフトで認証のページに
アクセスする方法はどうするのでしょうか?

No. 2612 # 68user 2002/04/09 (火) 18:23:32
>>2611 hama
認証が必要なページを読むと、Basic 認証が必要なページならば
    HTTP/1.1 401 Authorization Required
    WWW-Authenticate: Basic realm="This URI is required authentication"
というようなレスポンスが返ってきます。

もしユーザ名が USER、パスワードが SECRET なら、クライアントは
    USER:SECRET
という文字列を作り、それを base64 でエンコードした
    VVNFUjpTRUNSRVQK
という文字列を「Authorization: Basic 」に続けて送ります。つまり
    GET / HTTP/1.0
    Authorization: Basic VVNFUjpTRUNSRVQK
こんな感じ。

Digest 認証ならば、web サーバは
    WWW-Authenticate: Digest realm="testrealm@host.com",
          nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
          opaque="5ccc069c403ebaf9f0171e9517f40e41
という感じのを返してくるので、クライアントは
    GET / HTTP/1.0
    Authorization: Digest username="hoge",
        realm="testrealm@host.com",
        nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",
        uri="/",
        response="e966c932a9242554e42c8ee200cec7f6",
        opaque="5ccc069c403ebaf9f0171e9517f40e41"
こんな感じで。

詳細はこちらを。
    http://www.ietf.org/rfc/rfc2617.txt

No. 2613 # kouhei [E-mail] 2002/04/10 (水) 11:44:27
はじめまして、いつも勉強させて頂いております。
バージョン管理ソフトのCVSについて質問です。
ソースをレポジトリにインポートすると「ファイル名,v」となります。
,vが管理されていると言う事だと思うのですが、この管理している
ソースを直接WEBに反映したいのですが,vがある事でもとのファイルがみつからないとのエラーがブラウザに表示されてしまいます。
CVSROOTの中(loginfo等)はそれぞれ、元のファイルと,vのファイルがあり、チェックアウトしてソースを修正して戻すと両方のファイルが
更新されています。このようにする方法は無いのでしょうか。
以上、宜しくお願いします。

No. 2614 # kouhei [E-mail] 2002/04/10 (水) 11:46:46
申し訳ないです。下の質問わかりにくいですね。
例えばindex.htmlをインポートするとindex.html,vとなってしまう為
ブラウザーでindex.htmlを表示できないという事です。
宜しくお願いします。

No. 2615 # 68user 2002/04/10 (水) 12:48:27
>>2614 kouhei
目的は、履歴 (index.html,v) を表示することですか? それともコンテンツ
(index.html) を表示することですか?

No. 2616 # 68user 2002/04/10 (水) 12:59:54
>>2615 68user
追加。

もし後者だとしたら、リポジトリを直接ブラウザで見ようとして
いるのはなぜですか?

No. 2617 # kouhei [E-mail] 2002/04/10 (水) 13:07:10
素早いレスありがとうございます。
目的はコンテンツ(index.html)を表示したいということです。
参考にトップページのソースを拝見させていただきました。
1行目に<!--$ID:index.html,v 〜 があるというこはindex.htmlを
管理しているという事ですよね。これはチェックアウトした物を表示
しているのですか。
私がやりたいのはインポートしたindex.htmlを表示したいという事です

以上、宜しくお願いします。

No. 2618 # kouhei [E-mail] 2002/04/10 (水) 13:27:09
追加。
もしかして普通はこんな事しませんか。
テスト用サーバでcommitと同時に画面に反映されたらテストが楽に
なると思ったので。動作確認ができたら本番サーバにリリースする
というような事を考えていました。
実現できるのでしょうか。

No. 2619 # 68user 2002/04/10 (水) 15:37:20
>>2618 kouhei
> テスト用サーバでcommitと同時に画面に反映されたらテストが楽に
> なると思ったので。動作確認ができたら本番サーバにリリースする
> というような事を考えていました。
運用の問題になりますが、commit しないとテストできないというのは
面倒ではないですか?

普通、ちょっと作ってはブラウザで確認、不具合を修正し、確認し…と
修正・確認を繰り返して、まぁ問題ないだろうというときになったら
commit するものだと思います。

よって、
    - CVSROOT が /home/user/cvsroot
    - テスト環境を置くディレクトリが /home/user/public_html/
    - 本番環境を置くディレクトリが /usr/local/www/data/
だとしたら、
    % cd /home/user/public_html
    (ここで修正・確認を繰り返す)
    % cvs commit
    % cd /usr/local/www/data/
    % cvs update (本番環境に反映。あるいは再度 checkout しなおしてもよい)
とするのがよいと思います。

CVSROOT/loginfo をいじれば、commit した瞬間に本番環境へ反映させる
ことは不可能ではありませんが、常に本番環境に即時反映されるのも困る
場合があるんじゃないでしょうか?

また、本番環境への自動反映であれば、cron で定期的に更新するという
手もあります。loginfo で凝ったことをするより、cron で小回りのきく
単純なシステムを作った方がいいかもしれません。

No. 2620 # kouhei 2002/04/10 (水) 18:23:41
ありがとうございます。
チェックアウト先をWindowsのローカルにと考えていたのが
悪かったようです。Unix上にチェックアウトしてSambaで編集すれば
良いのですね。開発がサーブレットとjspとオラクルだったのもので
気軽にローカルでテスト環境を作るというのが難しかった為、サーバに
戻してテストしようと考えていました。
cronは便利そうですね。使った事ないですが勉強しようと思います。
以上、ありがとうございました。

No. 2621 # 68user 2002/04/10 (水) 22:16:27
>>2620 kouhei
> 開発がサーブレットとjspとオラクルだったのもので気軽にローカルで
> テスト環境を作るというのが難しかった為
なるほど。

でも、開発を各マシン上で行えると便利ですよ。
    開発環境は各マシンで
        Windows+JBuilder+Tomcat+PostgreSQL 用 JDBC ドライバ
        (テスト用サーバで PostgreSQL が稼働)
    テスト & 本番環境は
        UNIX+Tomcat+Oracle
てな感じで やっているところを見たことがあります。

Oracle と Tomcat を違いではまらないように、開発者は SQL を
直接書かず、DB 担当者が SQL を一括管理していましたが、そのかわり
    「今から開発マシン落としま〜す」
    「なんだ開発できねぇじゃねーか」
とかいうことがなくなりますし、同じファイルを同時にいじくって
しまう危険もないですね。

まあ、ある程度の規模にならないとメリットも出てこないので、
kouhei さんの環境でもそうするべきかどうかはわかりませんが、
参考まで。

No. 2622 # あやの 2002/04/11 (木) 11:36:21
2つのファイルの比較について、
hogeとfooという2つのファイルが場合、
この2つのファイルから、同一の内容)行を出力するコマンドは
どのようなものがありますか?

No. 2623 # あやの 2002/04/11 (木) 11:38:54
2つのファイルの比較について、
hogeとfooという2つのファイルがある場合、
この2つのファイルから、同一の内容の行を出力するコマンドは
どのようなものがありますか?

No. 2624 # あやの 2002/04/11 (木) 16:34:01
下記で同じ質問をしたところ、回答をいただいて解決しました。
http://www.parkcity.ne.jp/~chaichan/qanda/qa2652.htm

No. 2625 # 名無しさん 2002/04/11 (木) 20:11:06
マルチポストですか・・・>あやの

No. 2626 # kouhei 2002/04/12 (金) 10:49:47
お世話になってます。すみませんがもう一つ質問させてください。
CVSでコミットと同時にメールで複数人に通知したいのですが、設定がよくわかりません。
一応、以下の内容をloginfoに加えればメールは送られるのですが
コミットに1分以上、時間がかかってしまい使えません。
ALL (echo ""; id; echo %{sVv}; date; cat) | mail メールアドレス

パールを使う以下の方法も試したのですがパールの中でエラーが出てしまいます。
DEFAULT /usr/local/lib/cvs/contrib/log %s -m メールアドレス -f $CVSROOT/CVSROOT/commitlog

エラー内容は 〜/user/local/lib/cvs/contrib/log line 172. です。
-----------------------------------------------------------
/user/local/lib/cvs/contrib/log
-----------------------------------------------------------
close(OUT);
die "Write to $logfile failed" if $?;

close(MAIL);
die "Pipe to $mailcmd failed" if $?; ← 172行目
-----------------------------------------------------------

環境はLINUXです。
メール自動送信の方法をご伝授して頂けないでしょうか。
宜しくお願いします。

No. 2627 # 68user 2002/04/12 (金) 11:15:54
>>2626 kouhei
> コミットに1分以上、時間がかかってしまい使えません。
> ALL (echo ""; id; echo %{sVv}; date; cat) | mail メールアドレス
普通に考えると、commit に時間がかかる場所は mail コマンド以外には
考えられないので、まずはコマンドラインから
    % mail メールアドレス
で試してみるべきでしょう。

> パールを使う以下の方法も試したのですがパールの中でエラーが出てしまいます。
こちらも
    % Mail -s 'CVS update: $modulepath メールアドレス

    % /usr/local/lib/cvs/contrib/log %s -m メールアドレス -f $CVSROOT/CVSROOT/commitlog
などをコマンドラインから実行して、再現するかどうか試しましょう。

うちでは
    http://www-vox.dj.kit.ac.jp/nishi/cvsbook/ の mailto-committers.pl.txt を
使っています。
    - CVSROOT に jcode.pl を cvs add。
    - CVSROOT に mailto-committers.pl を cvs add。
    - CVSROOT/checkoutlist に
            mailto-committers.pl
            jcode.pl
        を追加し、commit。
    - CVSROOT/mailto-committers.pl を以下のように変更
                --- CVSROOT/mailto-committers.pl 2001/04/05 07:05:28 1.1
                +++ CVSROOT/mailto-committers.pl 2001/04/17 04:12:00 1.8
                @@ -1,23 +1,24 @@
                  #!/usr/bin/perl
                  #
                -# $Id: mailto-committers.pl,v 1.1 2001/04/05 07:05:28 mat Exp $
                +# $Id: mailto-committers.pl,v 1.8 2001/04/17 04:12:00 mat Exp $
                  # Copyright (C) 1998 Hajime BABA. All rights reserved.
                  #
  
                -require 'jcode.pl';
                +require '/MASTER/cvs/CVSROOT/jcode.pl';
  
                -$cvs = "/usr/bin/cvs";
                -$rcsdiff = "/usr/bin/rcsdiff";
                -$sendmail = "/usr/sbin/sendmail";
                +$cvs = "/usr/local/bin/cvs";
                +$rcsdiff = "/usr/local/bin/rcsdiff";
                +$sendmail = "/usr/lib/sendmail";
  
                  sub parse_args {
                          my(@tmp, $tmp);
  
                - $CVSROOT = ENV{'CVSROOT'};
                + $CVSROOT = $ENV{'CVSROOT'};
                + $CVSROOT =~ s/.*://;

                          print $ARGV[0], "\n" if $debug;
                          $ARGV[0] =~ s/ - New directory//go;
                @@ -49,6 +50,7 @@
                  sub set_header {
                          my(@h, $file, @tmp, $date);
  
                          open(HISTORY, "$tail -$files $CVSROOT/CVSROOT/history |") || die;
                          @h = <HISTORY>;
                          close(HISTORY);
                @@ -84,8 +86,8 @@ sub todate {
                  sub mail_notification {
                          my($file, $fullname, $old, $new, $tmp);
  
                - open(MAIL, ">> /tmp/commitlog");
                + open(MAIL, "| $sendmail -odb -oem -t");
                          print(MAIL "$subject");
                          print(MAIL "$header");

    - loginfo に
            DEFAULT $CVSROOT/CVSROOT/mailto-committers.pl %{sVv} $USER メールアドレス
        を追加し、commit。

No. 2628 # kouhei 2002/04/12 (金) 14:06:41
mailto-committers.plの方法を試しましたが結果は同じで1分以上待ってから送信されます。
%mail メールアドレスは普通に送信されました。
もう少し調べてみます。

No. 2629 # john 2002/04/13 (土) 23:20:13
はじめまして、メールサーバの管理をしているのですが、
最近サーバがpopユーザ数に対応しきれず、
pop.lockがかかってメールが取れない事が頻繁に発生しています。
popデーモンはqpopperをつかっています。

そこで、このロックの解除方法で疑問があります。

qpopperが起動すると、まず、/var/mai/.user-id.popファイルにコピーを作成。
無事にコピーが終わると、/var/mai/user-idはサイズ0に切り詰められる。
POPサーバーは、このコピーと、解析した結果を元にクライアントとやりとりします。
  
ネットで調べると、.user-id.popファイルを削除する方法をよく見かけますが、
途中でセッションが切れてロックファイルが残ってしまったような場合、
この方法では受信し切れなかった分のメールはなくなってしまうのでしょうか?
ほっとけば30分でロックファイルはなくりますが、
これもただ強制的にロックファイルを削除しているだけなのでしょうか?

また、popのプロセスをkillする方法もありますが、この場合のロックファイルは
どう処理されるのでしょうか?

ご指導、宜しくお願いします。

No. 2630 # 68user 2002/04/15 (月) 07:54:54
>>2629 john
一口に qpopper と言っても、2.5x 系、3.x 系、4.0.x 系 などがあります。
ちゃんとバージョンを書きましょう。

> qpopperが起動すると、まず、/var/mai/.user-id.popファイルにコピーを作成。
> 無事にコピーが終わると、/var/mai/user-idはサイズ0に切り詰められる。
> POPサーバーは、このコピーと、解析した結果を元にクライアントとやりとりします。

4.0.3 では、
    認証完了
    → user-id.lock 作成
    → user-id を .user-id.pop にコピー
    → user-id を 0 バイトに
    → user-id.lock 削除

でした。「pop.lock」ってどのことを指してますか? あるいは本当に
「pop.lock」というファイルがあるのでしょうか?

No. 2631 # 小僧 2002/04/15 (月) 21:40:53
お世話になります、小僧です。
質問をさせてください。

あるシェルをバックグランドで実行させ、
その後Window を閉じる、という処理を行おうとしています。

過去ログなどを参照した結果、実行コマンドは
nohup ???.sh &
でいいと思うのですが、終了のさせかたに疑問が残ります。
と、言うのも logout コマンドは受け付けてくれるのですが、
exit コマンドは 1 回目は受け付けてくれません。
( 2 回叩くと exit してくれます・・・)

本で調べた結果、exit は「シェルスクリプトを終了」し、
logout は「ログインシェル」を終了させると書いてありましたが、
この意味するところがわからなく、困っています。

この 2 つのコマンドの違いが分かるか方がいらっしゃいましたら、
アドバイスをお願い致します。

−−−
OS は AIX 4.3
シェルは ksh
調べた本は「UNIX クイックリファレンス」
です。

宜しくお願い致します。

No. 2632 # 68user 2002/04/16 (火) 16:31:53
>>2631 小僧
> logout コマンドは受け付けてくれるのですが、
> exit コマンドは 1 回目は受け付けてくれません。
それはまた謎な話ですね。
    % nohup sleep 100 &
    % exit
でも再現しますか?

単に (nohup を実行せずに)
    % exit
だと?

また、「受け付けてくれない」とはどういう状況を指してますか?
何かエラーメッセージは出ますか?

No. 2633 # 小僧 2002/04/16 (火) 17:25:42
>>2632 68user
お世話になります、小僧です。
早速の返信、ありがとうございます。

68user さんが記述されているコマンドを実行してみました。
以下、結果です。

---------- Start
# nohup sleep 100 &
[1] 37802
# nohup の出力を nohup.out に送信します。

# exit
実行中のジョブがあります。

---------- End

情報が足りなかったのですが、
「受け付けてくれない」というのは
"実行中のジョブがあります。"メッセージが
表示されて、終了されないことを指しています。

ちなみに、上記の状態でもう一度「exit」を実行すると、
上手く画面が消えてくれます。

宜しくお願い致します。

No. 2634 # 68user 2002/04/16 (火) 19:33:09
>>2633 小僧
> "実行中のジョブがあります。"
それはシェルが
    「実行中のジョブがあるけど、本当に exit で抜けてよいのか?」
と親切に聞いてくれているのです。

これはただの警告であって、抜けようと思えばいくらでも抜けられます。
二度目の exit は
    「警告したにもかかわらず再度 exit しようとした」
ということで、今度は抜けることができます。

FreeBSD や Solaris では、端末を持たないコマンド (?) をバック
グラウンドで実行している場合は、素直に exit させてくれるん
ですけど、AIX はそうではないようですね。

No. 2635 # 小僧 2002/04/17 (水) 10:06:41
>>2634 68user
お世話になります、小僧です。

早速の回答、ありがとうございました。
別に exit と logout のコマンドが
違う訳ではなかったのですね。

今後も宜しくお願い致します。

No. 2636 # Yasuo Y 2002/04/17 (水) 10:58:30
はじめまして。検索していてここに辿り着きましたよろしくお願いいたします

SunOS 5.7 cshでファイルをテープにバックアップする時に
tarでやっているのですが、ファイル数が多くなって出来なくなって
しまいました(argument too long)

echo /パス/ | xargs tar cvf
としても、だめみたいです(xargsは外部コマンドでした)。

ファイル数を減らすという他に何か良い方法はないでしょうか。
お忙しいところ誠に恐縮ですが、宜しくご教示ください

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2637 # 68user 2002/04/17 (水) 22:11:21
>>2636 Yasuo Y
> echo /パス/ | xargs tar cvf
> としても、だめみたいです(xargsは外部コマンドでした)。
xargs tar cvf /dev/XXX ですよね?

で、「だめ」とはどういう意味ですか? 少なくとも Argument too long は
出ないはずですが。

ただしこの場合、
    % tar cvf /dev/XXX file1 file2 file3 ....
    % tar cvf /dev/XXX file1500 file1501 file1502 ....
    % tar cvf /dev/XXX file4000 file4001 file4002 ....
と複数回 tar が実行されますが、それでいいのですか?

解決策は tar の -I オプションじゃないかと思います。

No. 2638 # 68user 2002/04/17 (水) 22:15:04
>>2635 小僧
> 別に exit と logout のコマンドが違う訳ではなかったのですね。
違いますよ。logout はログインシェルを終了させるとき、exit は
シェルを終了させるときに使います。ログインシェルというのは、
    Login:
    Password:
というような認証の直後に起動したシェルのことです。

No. 2639 # Yasuo Y 2002/04/18 (木) 11:13:39
>>2637 68user
68Userさん、ありがとうございます。
tar cvf /dev/XXX -I /パス名1 -I /パス名2 -I /パス名3
として実行してみたのですが、変な文字がコンソールにいっぱい出てきて
すぐ止めました。
それから、Argument Too Longも相変わらず出ています。
せっかく教えていただいたのに解決できませんでした……。
たくさんあるファイルをテープにバックアップしている
ところは、一体どうやってやっているんでしょうか??

No. 2640 # 68user 2002/04/18 (木) 11:35:29
>>2639 Yasuo Y
> tar cvf /dev/XXX -I /パス名1 -I /パス名2 -I /パス名3
man tar しました? -I の意味を調べました?

あと、別解としては、
    % echo * | xargs tar rvf /dev/XXX
かなぁ。うまくいくかどうかはわかりませんが。

No. 2641 # あき 2002/04/19 (金) 10:57:34
はじめまして
UNIXについて質問なのですが、a.txt と b.txt というファイルがあり
aの中には abcdefg という内容があり bの中には hijklmn という内容があります。そこで a の中に b の内容をコピーしたいのですが、どのようにコピーしたらよいのですか、教えてください。
行のコピーの仕方ってあるんですか?

No. 2642 # Yasuo Y 2002/04/19 (金) 19:22:04
>>2640 68user
とりあえずうまくいってるようです。
Cシェルの実行中に出てきたエラーメッセージなのですが
Argument Too longは、他のところで出ているもののようでした。
どうもお騒がせしました。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2643 # ある厨 2002/04/19 (金) 21:49:30
ども初めまして。
http://x68000.startshop.co.jp/%7E68user/cgi-bin/<script>alert("----")</script>
のエラーページでいま話題のクロスサイトスクリプティングの脆弱性を確認出来ました。
たぶん、error.cgiの原因と思われます。
私も利用させてもらっていますがperlのことは分かりませんので
Fixされるようお願いします。

No. 2644 # 名無しさん 2002/04/19 (金) 23:32:37
>>2643 ある厨
なるほど。外部からの情報をちゃんとチェックしてないな。
ふむふむ。賢い

No. 2645 # 68user 2002/04/23 (火) 01:51:41
File System full で、しばらくこのサーバにアクセスできない状態に
なってました。

>>2643 ある厨
> のエラーページでいま話題のクロスサイトスクリプティングの脆弱性を確認出来ました。
ご指摘ありがとうございます。< > を &lt; &gt; に置換するようにしました。
あと、Host: ヘッダにも全く同じ脆弱性がありましたので直しました。

http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/error.cgi

>>2641 あき
いまいちやりたいことがわかりません。例をあげて説明して下さい。

No. 2646 # knockout 2002/04/23 (火) 13:09:04
はじめまして。
UNIXを始めたばかりの初心者なんですが、
あるフ゜ロク゛ラムから、その日の日付の入ったファイル名を持つファイル
自動生成させたいのですが、
どうもうまく出来ないんです。

というのも、僕はdateの情報をcutもしくは、date +%y%m%d"などで、
その日の日付を抜き取り、変数に入れた後、
touch $[変数名] と、そんな感じでやってみたんですが、
これって、パイプを使っても変数の中に日付って入らないですよね?

出来れば、[日付入りファイル名]の作り方を教えて頂けませんか?
ぜんぜん違うアプローチでその方法があるならそちらでも一向に構いませんのでm(__)m

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2647 # 68user 2002/04/23 (火) 13:25:36
>>2646 knockout
言語は何ですか。

No. 2648 # knockout 2002/04/23 (火) 14:16:58
返答どうもです。
ksh見たいです(w

No. 2649 # knockout 2002/04/23 (火) 14:22:24
返答ありがとうございます。
えっと、「echo $SHELL」と入力して、
/usr/bin/ksh
と出ますので、kshですね。
すいません、こんなふざけた返答で(^^;

No. 2650 # 68user 2002/04/23 (火) 14:28:07
>>2648 knockout
    nowdate=`date +%y%m%d`
    echo $nowdate
と `` を使います。

パイプを使うこともできなくはありませんが、無駄に長くなります。
複数行を処理する必要がないなら `` でよいでしょう。
    date +%y%m%d | while read line
    do
        echo $line
    done

No. 2651 # knockout 2002/04/23 (火) 14:32:05
出来ました!!
なるほど``ですね。
早速、ホンチャンのプログラムに組み込んできます。
ありがとうございましたm(__)m

No. 2652 # knockout 2002/04/23 (火) 14:54:14
度々すいません。
えっと、さっきの返答してもらった最後の記述
        date +%y%m%d | while read line
        do
                echo $line
        done
は、何を行っているんでしょうか?
僕の解釈ではdateで表示したのを、変数lineに代入、
その後がいまいち理解が、
echo $lineは分かるんですけどね、
doとdoneを使っている意味が
はっきり分からないんです。
それぐらい調べろっていわれそうですが、
どうか一つ宜しくお願いします(^^;

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 2653 # H.M [E-mail] 2002/04/23 (火) 17:53:18
はじめまして。LINUXをはじめたばかりのものです。
c言語用FTPクライアントのプログラムを
ダウンロードしたのですが、
実行方法がいまいちわかりません。
他のサイトでサーバ、クライアントのファイルは
それぞれで実行すればよかったのですが、
今回の分はFTPサーバを自分で作らなければ
ダメなのでしょうか?
かなり初歩的な質問だと思いますが
教えてください。

No. 2654 # 田中 [E-mail] 2002/04/23 (火) 20:28:04
リンク先があるかどうか知るにはどうすればいいですか?
具体的には他人に書き込んでもらったアドレスの、
例えばhttp://www.a.com/a/a.gifの絵があるかどうか知りたいのです。
それと、絵の大きさも知りたいです。
それで大きすぎたら表示しないようにしたいのですが。
よろしくお願いします。

No. 2655 # apex 2002/04/24 (水) 12:07:31
はじめまして、apexと申します。
今、Cシェル(OSは、ソラリス8)で、簡単なプロセス管理ツールを作成しています。
この時、以下のことでうまく動作せず悩んでおります。
もし、おわかりになれば教えてください。

1:Cシェル内で、rootユーザになる方法。
            要するに、パスワードをシェル内に記述して、コマンドラインに渡せ  るかどうか?

2:awkにて、プロセスを切り出す方法
            「ps -ef | grep ABC」からABCを認識させ、ABCプロセスが存在しな   ければ、起動する。
                この時、ps-efコマンドを実行した時の、第2パラメータが      ”root”で、第9パラメータが”ABC”であるものを切り出したい。

以上、お手数ですが、よろしくお願いします。

No. 2656 # sys [E-mail] 2002/04/24 (水) 13:40:11
>>2655 apex
1についてですが、
expectというコマンドがあれば、これを使ってみてはどうでしょうか。
ここにサンプルがありますね。
http://www.math.s.kobe-u.ac.jp/~kodama/tips-expect.html

No. 2657 # 68user 2002/04/24 (水) 17:57:37
>>2652 knockout
> doとdoneを使っている意味がはっきり分からないんです。
while 〜 do 〜 done でひとまとまりのループです。なぜループを使うかと
言うと、複数行の出力を1行ずつ取り出して処理しているからです。


>>2653 H.M
> c言語用FTPクライアントのプログラムをダウンロードしたのですが、
> 実行方法がいまいちわかりません。
    http://X68000.startshop.co.jp/~68user/net/c-ftp-1.html
ですか? このページに書いてある通りに実行すれば、引数で指定した
FTP サーバに接続しにいくはずですが…。


>>2654 田中
> 具体的には他人に書き込んでもらったアドレスの、
> 例えばhttp://www.a.com/a/a.gifの絵があるかどうか知りたいのです。
リンクチェッカやダウンローダを使います。

> それと、絵の大きさも知りたいです。
ヘッダを解析します。各種ライブラリやコマンドを使ってもいいです。

> それで大きすぎたら表示しないようにしたいのですが。
if 文で判断します。

# 環境も何もわからないと、この程度のことしか言えません。


>>2655 apex
> パスワードをシェル内に記述して、コマンドラインに渡せるかどうか?
できなくはないです。
>>2573 68user
を参照。

が、コマンドラインからだと (端末を握っている場合、という意味) うまく
いかないので、やめといた方がよいでしょう。sudo や expect を使うのが
一番いいです。

> この時、ps-efコマンドを実行した時の、第2パラメータが”root”で、
> 第9パラメータが”ABC”であるものを切り出したい。
    ps -ef | awk '$2=="root" && $9=="ABC" {print}'
    ps -ef | awk '$2~/^root$/ && $9~/^ABC$/ {print}'
あたりでしょうか。

No. 2658 # 田中 [E-mail] 2002/04/25 (木) 12:35:59
2654番の田中です。
お答え有難うございました。
言葉足らずですいません。
perlでcgiを勉強しながら製作中です。
でもう一度、
リンク先があるかどうか知るにはどうすればいいですか?
具体的には他人に書き込んでもらったアドレスの、
例えばhttp://www.a.com/a/a.gifの絵が存在するかどうか
知りたいのです。
それと、絵の容量も知りたいです。
それで大きすぎたら表示しないようにしたいのですが。
よろしくお願いします。

No. 2659 # 68user 2002/04/25 (木) 23:36:37
>>2658 田中
> リンク先があるかどうか知るにはどうすればいいですか?
wget などのダウンローダやリンクチェッカを使います。現在のサーバに
それらのソフトが入っていなければインストールします。あるいは
libwww などの perl モジュールをインストールするのもよいでしょう。
それもできないなら、
    http://www.studyinghttp.net/Hyd_HTTP.html
がお勧めです。

> それと、絵の容量も知りたいです。
「容量」とはファイルサイズのことですか? 前の質問では「大きさ」と
あったので縦横のサイズかと思ったのですが。

ファイルサイズなら Content-Length ヘッダを見ます。Content-Length
ヘッダが付かない場合もあるので、その際は実際にダウンロードして
そのサイズを調べる)。

縦横のサイズなら、file コマンドや ImageMagick 付属の identify
コマンドを使います。
    % file hoge.jpg
    hoge.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), 72 x 72
    % identify hoge.jpg
    hoge.jpg JPEG 25x40 DirectClass 8-bit 912b 0.0u 0:01

> それで大きすぎたら表示しないようにしたいのですが。
「表示」というのも曖昧です。一度サーバ側にダウンロードしてから
表示させるのか、あるいは <img src="..."> を出力するだけなのか。

どちらにせよ、ファイルサイズなり縦横のサイズなりを if 文で
判断すればよいでしょう。

No. 2660 # 68user 2002/04/26 (金) 00:01:47
>>2658 田中
また無駄な回答をしてしまった。
    http://script.lovely.to/bbs/infolng.cgi?print+200204/02040010.txt
もうこないでね。

No. 2661 # しなくろ 2002/04/28 (日) 01:38:21
大学でUNIXを勉強しているのですが…
ただ教授の命令どおりにコマンドを入力して実行しているだけで、
何をやってて何をするためにUNIXを勉強しているのか分かりません。

大体パソコンをかまうのにも慣れてない自分は、
「この〜〜〜を、〜〜〜して」  ※〜〜〜→聞きなれない英語
といわれ続けちんぷんかんぷんです。

どうしたら上手くUNIXを学べれるのでしょうか?
もしアホでも分かるお勧めの本とかあれば紹介していただきたいのですが…

No. 2662 # 68user 2002/04/28 (日) 12:20:59
>>2661 しなくろ
興味がなければ学ばない。でも単位を落とさないように暗記だけする。
ってのがいいんじゃないでしょうか。興味がわかないことを勉強しても
時間の浪費にしかならないと思います。

興味はあるけどわからないって場合は…どうしたもんでしょうかねぇ。

No. 2663 # ある厨 2002/04/29 (月) 23:15:47
Fixども。
設定完了しましたのでお礼まで。

No. 2664 # なは 2002/04/29 (月) 23:26:36
はじめまして。とても参考になります。

telnetのところでWindowsではtelnetでホームページはみれないのでしょうか?

No. 2665 # 68user 2002/05/02 (木) 00:06:53
>>2664 なは
> telnetのところでWindowsではtelnetでホームページはみれないのでしょうか?

http://x68000.startshop.co.jp/~68user/net/win-telnet.html では
どうでしょうか。

と言っても Windows 2000 の telnet.exe では設定方法が違う
んですけどね。

No. 2666 # a-jmj 2002/05/03 (金) 09:59:32
perlについてですが、無名のハッシュ又は配列のレファレンスに、配列要素を追加する方法を教えてください。ついでに配列の参照の仕方も教えもらえると有りがたいです。

以下のソースは変数を@line_0 .. 9までと変数を9個使っていますが、これを$line_{0} .. {9}と一つの変数にさせたいと思っています。

while (<IN>) {
  local($date) = (split /<>/)[0];
  push (@{'line_'.$date},$_);
}
foreach (0..9) {
  foreach $line (@{'line_'.$_}) {
    print $line;
  }
}

No. 2667 # 68user 2002/05/03 (金) 12:24:15
>>2666 a-jmj
ん〜、$line_{2} で 2 行目のデータが得られればいいのですか?
そのとき得たいデータは日付 ($date) と行全体?

No. 2668 # a-jmj 2002/05/03 (金) 13:20:04
説明不足ですいません。
1<>aaaa<>
1<>bbbb<>
2<>cccc<>
というデータがあったとしたら、
$line_{1}[0] = '1<>aaaa<>'
$line_{1}[1] = '1<>bbbb<>'
$line_{2}[0] = '2<>cccc<>'
といった風にしたいのですが、以下のソースではエラーが出てしまいます。
open(IN,"file");
while (<IN>) {
    local($date) = (split /<>/)[0];
    push (@line_{$date},$_);
}
colse(IN);
これをする目的は下のように全体のデータを何度も回転させたくないので、
データを分別しときたいのです。
open(IN,"file");
@lines = <IN>;
colse(IN);
foreach (0..9) {
  print $_;
  foreach $line (@lines) {
    my($i,$data) = split /<>/,$line;
    print $data if ($i == $_);
  }
}

無名のリファレンスを使いたい理由としては、@{'line_'.$date}といった感じの変数を使いたくないのと、効率を考えたらリファレンスが使えないことです。

No. 2669 # 68user 2002/05/03 (金) 17:19:29
>>2668 a-jmj
こんな感じでしょうか。

    open(IN,"file");
    while (<IN>){
        chomp;
        local($date) = (split /<>/)[0];
        push(@{$line_{$date}}, $_);
    }
    close(IN);
    
    foreach $date (sort keys %line_ ){
        foreach (@{$line_{$date}}){
            print "$_ ";
        }
        print "\n";
    }

実行結果:
    1<>aaaa<> 1<>bbbb<>
    2<>cccc<>

No. 2670 # a-jmj 2002/05/03 (金) 20:44:32
どうもありがとうございます。
ええそうです、求めていたのはこれです。
無名も普通のリファレンスみたいに使うのですね。
なかなかリファレンスを詳しく書いた資料がないものですね。
実際の運用には8桁の日付で、分別させているのですが、以前の方法でしたら、
use strict;を使おうにも変数名が不規則なうえ、指定してやらなければ成らな
い変数が膨大な数になってしまうことが問題でした。
その他に良い分別方法があったら教えていただけたら、幸いです。

No. 2671 # 68user 2002/05/03 (金) 23:30:27
>>2670 a-jmj
> その他に良い分別方法があったら教えていただけたら、幸いです。
データ構造を変えていいなら、各行に一意の番号を付けて
    $data{123}{DATE} = '20020101';
    $data{123}{NAME} = 'hoge';
    $data{123}{MAIL} = 'foo@bar';
などとするのが好みです。

データ構造を現行のままにするなら案の通り
    $data{20020101}[0] = '1<>aaaa<>'
とするのも悪くないでしょう。

あるいは最初に <> を解析しておいて
    $data{20020101}[1]->{NAME}
といった形でアクセスできるようにするという手もあります。以下サンプル。

        my %data;
        open(IN,"file");
        while (<IN>){
                chomp;
                my ($date,$name,$mail,$content) = split /<>/;
                my %hash;
                $hash{NAME}=$name;
                $hash{MAIL}=$mail;
                $hash{CONTENT}=$content;
                push(@{$data{$date}}, \%hash);
        }
        close(IN);

        foreach $date (sort keys %data ){
                print "$date: ";
                foreach my $ref_hash (@{$data{$date}}){
                      print "$ref_hash->{NAME} $ref_hash->{MAIL} $ref_hash->{CONTENT} ";
                }
                print "\n";
        }

        print "おまけ: $data{20020101}[1]->{NAME}\n";


    データファイルの内容:
        20020101<>名前1<>メールアドレス1<>発言内容1
        20020101<>名前2<>メールアドレス2<>発言内容2
        20030203<>名前3<>メールアドレス3<>発言内容3

    実行結果:
        20020101: 名前1 メールアドレス1 発言内容1 名前2 メールアドレス2 発言内容2
        20030203: 名前3 メールアドレス3 発言内容3
        おまけ: 発言内容2


ただし、perl でちょっと凝ったリファレンスを使い出すと、とてつもなく
ソースが汚くなるので、クラスを使いたくなるかもしれません。そして
クラスを使い出すと、perl の OO に嫌気がさして ruby を使い出すかも
しれません。

なので、ほどほどのところでやめておく方がいいのかも。

No. 2672 # Shino [URL] [E-mail] 2002/05/07 (火) 00:59:24
始めまして。C-CGI システム構築をHTMLのタグレベルで実現するツール
の紹介ページが shino.server-club,net/index.htm にあります。皆様の
御参考になればとCMまがいの書き込みを致しました。

No. 2673 # 名無しさん 2002/05/07 (火) 18:02:44
>>2672 Shino
こんなもので金が取れると思ってるの??

なんか最初からあやしげな臭いがプンプンしてたけど、やっぱり。。
http://shino.server-club.net/cgi-bin/DS.cgi?COMMAND=Html&HTML=../../../../../../../etc/passwd
注:Referer。

汚染チェックしてね。

No. 2674 # Shino [E-mail] 2002/05/07 (火) 23:47:36
名無しさん様、大変失礼を致しました。

No. 2675 # ふくし [E-mail] 2002/05/08 (水) 00:27:08
おひさしぶりですみません。質問です。
よく、インターネット(Web、メール)で
(いわゆる)半角カナを使ってはいけないといわれますが、
この理由が、
・インターネットは ASCII 以来、7ビットしか通さない伝送路が
    使われてきたので、7ビットコードを使うのが望ましい
・日本の場合 ISO-2022-JP が標準
・ISO-2022-JP は、4つの面に(いわゆる)半角カナ以外の
    コードが割り当てられている。
・つまり、ISO-2022-JP には半角カナが「ない」
・ないものは使ってはいけない
という風に覚えていましたが、
UNIX の mule や Windows の xyzzy で ISO-2022-JP を指定して
(いわゆる)半角カナを入れるときの、
「ESC)I がエスケープシーケンスで(いわゆる)半角カナ」
というコード系は、何に規定されているものなのでしょうか。
こんなの、ちょっと調べろよって話だと思うんですが、
調べ方が悪いのかこれだ、という情報に当りません、、。

No. 2676 # 68user 2002/05/08 (水) 01:05:41
>>2675 ふくし
> 「ESC)I がエスケープシーケンスで(いわゆる)半角カナ」
> というコード系は、何に規定されているものなのでしょうか。
何にっていうのは、どの規格で定められているかってことですよね。

http://www2d.biglobe.ne.jp/~msyk/charcode/jisx0201kana/ には
    JUNET方式のエンコーディング方式を素直に拡張すれば、この
    エンコーディング方式になる。
とありますが、何をどう素直に拡張すればこうなるのか (僕の知識
不足のため) 理解できません。

http://www.kanzaki.com/docs/jis-mail.html には
    RFC1468には記載されていませんが、定義からESC ( I が7ビットの
    カタカナを指示(designate)するエスケープシーケンスとなるので、
とありますが、どこをどう読めば ESC ( I が 7bit カタカナを指示する
ことになるのか これまた (僕の知識不足のため) 理解できません。

わかったら僕にも教えて下さい。

No. 2677 # 68user 2002/05/08 (水) 01:27:53
>>2675 ふくし
> よく、インターネット(Web、メール)で(いわゆる)半角カナを
> 使ってはいけないといわれますが、
おっと、見逃してた。ここで「web」を挙げているのは誤りです。

インターネット (≒ TCP/IP) は 8bit を通します。FTP も HTTP も
8bit through です。過去 7bit しか通さない実装が多かったのは
SMTP で、7bit しか通らないところに日本語を通そうという苦肉の
策が、後の ISO-2022-JP につながる JUNET コードです。

よって、web で半角カナ使用禁止という話はありません。もちろん web で
    Content-type: text/html; charset=ISO-2022-JP
としているならば半角カナは使えませんけれども。

ちなみに、個人的には半角カナは嫌いでしたが、2ch で AA を見てると、まぁ
半角カナもいいかなと思い始めていました。が、半角カナは EUC-JP と
Shift_JIS でバイト長が違うため、項目長を事前に決めておかなければ
ならない DB では何かとトラブルの元です。よって、やっぱり半角カナ
嫌いに戻ってしまいました。

No. 2678 # ふくし [E-mail] 2002/05/08 (水) 01:29:20
そっかー。68user さんもわからないと聞いて
少なくともつまんない質問ではなかったとわかって
なんかホッとしました(^o^)
マルチポストになりますが、別所で聞き、なにかわかったら
また書きます。ありがとうございます。
他の方も、なにかありましたらご教示ください。

No. 2679 # へにか [URL] 2002/05/08 (水) 08:16:13
>>2675 ふくし
>>2676 68user
お久しぶりです。
http://euc.jp/i18n/charcode.ja.html
によると、
>終端文字と文字集合の対応は登録制になっており、 ECMAという組織が登録簿を管理して います。
(略)
>・94文字集合
(略)
>I
> JIS X 0201カタカナ
>J
> JIS X 0201ローマ文字
とあります。
先にECMAが決めたのか、誰かが既に決めたのをECMAが登録したのかは、
わかりませんが。

No. 2680 # 68user 2002/05/08 (水) 22:39:05
>>2679 へにか
なるほどなるほど。
    http://www.ecma.ch/ecma1/STAND/STANDARD.HTM
のどれかにその記述があるのでしょうか。PDF しかないようなので
中身は見ていませんけれども。

ちなみに G0 とかロッキングシフトなども理解してないんですが (どこの
解説を読んでもよくわからん)、初心者向けの解説がどこかにないもので
しょうか。

No. 2681 # ふくし [E-mail] 2002/05/09 (木) 02:51:01
へにかさん、ありがとうございます。
わたしも xyzzy ユーザーズMLで質問を投げました。
いまメーラーが使えないので、記憶でサマリーすると、

・ふくしが ISO-2022-JP の4つの面にそれぞれ半角カナ以外の
    コードが入っていると思っているのはカン違いで、
    ISO-2022-JP は G0 集合だけを使い、エスケープシーケンスで
    切り替えて使う(G1〜G3 は使用禁止)

・そこに割り当てられるコードが
(RFC 1468 より引用)
> Esc Seq Character Set ISOREG
> ESC ( B ASCII 6
> ESC ( J JIS X 0201-1976 ("Roman" set) 14
> ESC $ @ JIS X 0208-1978 42
> ESC $ B JIS X 0208-1983 87
    の4種類で、7ビットカナ(JIS X201 の右半分)は
    意図的にはずされている

・JIS X201 のコード表と、終端記号の I は、
    へにかさんも書いておられますが ISO の登録簿にある。
    http://www.itscj.ipsj.or.jp/ISO-IR/
    で登録されているものは確認できる。

・登録を行う=>終端記号が割り当ててもらえる、
    という流れで、登録作業は
    ISO/IEC JTC1/SC2 の事務国である日本(!)

ということだそうです。
ESC(I の歴史は ISO-2022-JP より古く、
ISO-2022 のフルセットを使えば半角カナが使えるように
(だと思うんですが、、)
定義されているようです。

他にもいくつか ISO-2022-JP の半角カナ拡張はありますが
(G1 集合に半角カナがあるとみなして、
    往年の ISO 646 のように SI/SO で切り替えたり。
    これは Microsoft Internet Mail 方式?)
・G0 のみしか使わない
・ISO の登録簿にあるコード表と終端文字を使う
という点で、最も正当で自然な方法と ESC(I 式が
みなされているそうです。

で、推奨される文献としては
http://euc.jp/i18n/charcode.ja.html#chap4
が上げられていました。
xyzzy の ML はアーカイヴが公開されているので、
教えてくださった方との実際のやりとりはそこで読めると思います。

いかがでしょうか。
こんなところでぼくは満足ですが、、。

で、2ch の AA ってなんですか?(^^)

No. 2682 # ぐっさん 2002/05/09 (木) 21:56:25
もう、だめ・・・
CPU使用率の確認でsar -vってのあるんだけど、そのなかの
file-szはシステムファイルテーブルの現在サイズ、および最大サイズ
ってとこまではわかってるんですけど、
システムファイルテーブルって何を管理してるテーブルなの?
だれかおしえて・・・
システムファイルだよっていうのは無しで。

No. 2683 # へにか [URL] 2002/05/09 (木) 23:42:19
>>2680 68user

あいにく、僕もpdf-readerを持っていないので、代わりに以下の文書を見つけました。

http://www.io.com/~kazushi/encoding/cslist.html
http://homepage1.nifty.com/emk/halfkana.html

http://web.kyoto-inet.or.jp/people/tomoko-y/biwa/wnn/iso2022.html
>最新のエスケープシーケンス一覧と、それに対応する各文字集合表は、
>ECMA から直接、入手可能である。スイス連邦にあるECMA の連絡先は、以下の
>とおりである。

>  メールアドレス:helpdesk@ecma.ch

>住所: ECMA   RUE DU RHONE 114
> CH-1204 GENEVE SUISSE

また、僕は全部読んでないし、また、僕が理解できるかどうかは怪しいですが、
http://euc.jp/i18n/charcode.ja.html
よりも良さそうな解説は、あいにくながら、見たことありません。

>>2681 ふくし
記憶に頼っているとはいえ、見事な纏めですね。あとでxyzzyのメーリングリスト、
あさってみますね。

No. 2684 # 68user 2002/05/10 (金) 02:49:35
>>2681 ふくし
> で、2ch の AA ってなんですか?(^^)
こんなのです。
    http://members.tripod.co.jp/maruheso/aadic/
Ascii Art と言っても、全然 Ascii じゃないですけど。

>>2682 ぐっさん
> システムファイルテーブルって何を管理してるテーブルなの?
その時点で使用 (open) している i-node の数、じゃなかった
でしょうか。違ったっけ。

No. 2685 # サト [E-mail] 2002/05/12 (日) 03:24:18
はじめまして、サトと申します。
unixについて知識のある方、お助け下さい。。
会社のunixサーバを壊してしまいました。。
とある理由で、/usr/lib/libdl.so.1 が何者かも知らずに
mv libdl.so.1 libdl.so.1.org などと実施してしまいました。
(osパッチを当てた後くらいから、コンパイルのリンクエラー
でlibdl.so.1うんぬんと出てきたので、このライブラリだけ旧版に
戻してもみうと思って行ってしまいました。。)
そしたら、それ以後のユーザーコマンドが一切実行できなくなりました。。
ユーザーコマンドのほとんどが libdl.soをリンクしていたようです。
よって、mvで戻そうとしてもmvもcpも起動できなくなって戻せない状態です。。
OSの再インストールを覚悟していますが、この状態で何か対処方法は
ありますでしょうか?
どなたかお助け下さい。。よろしくお願いします。。。

No. 2686 # 68user 2002/05/12 (日) 06:16:57
>>2685 サト
OS は何ですか? 「UNIX」と言ってもいろいろありますので。

Solaris ならこんな感じで。
    http://www.google.com/search?q=solaris+%95%9C%8B%8C+CD-ROM+mount&hl=ja

また、HDD を別の UNIX マシンにつないで、適当な場所 (/hoge とか) に
mount して、
    # mv /hoge/lib/libdl.so.1.org /hoge/lib/libdl.so.1
などとする手もあります。

No. 2687 # サト [E-mail] 2002/05/12 (日) 16:02:04
>>2686 68user
68user様、レス大変ありがとうございます。
どうにもならないのかと思っていたので、少し安心しましたです。
昨日から相当凹んでましたので。。
OSはソラリスで、マシンはSUNウルトラだっと思います。
(ソフト開発専門なのでマシン環境などはうとくて。。)
週明けにマシン環境の担当と相談してみます。
ありがとうございました。

No. 2688 # さとるる 2002/05/13 (月) 12:34:52
HP−UNIXでman sarを実行したところオプションvのところで
”text-sz (該当しません)”となっていましたがtext-szは
もともと何の監視のためにあったのか知ってたら教えてください。

No. 2689 # moto 2002/05/16 (木) 06:46:43
お世話になります。トータルで3回目の質問になるのですが、
perl で例えば

<>aa<>bb<>cc<>dd<>  ←1行目
ee<>ff<>gg      ←2行目

このようなデータがあった場合
<>aa
<>bb
<>cc
<>dd
<>ee
<>ff
<>gg
のように出力させるコードを教えてください。
よろしくお願いします。

No. 2690 # ふくし 2002/05/16 (木) 07:09:08
<> が区切り文字だと事前にわかっていれば、
chomp で改行を除き、
<> で split して、<> を改めて付加して出力、ですね。

通常のフィルターの書き方はわかりますか?
chomp、split の使い方は man perlfunc か、
ラクダの本を見てください。
(どっかで日本語の man perl が公開されてたな)

<>が区切り文字だとわかっていなければ、無理だと思います。
というのは、たとえば 1 行目で、<> が区切りなのか、
<>a なのか、<>aa なのか、機械には不明だからです。

No. 2691 # aaa 2002/05/16 (木) 13:00:16
以下はどうでしょうか?

#!/usr/local/bin/perl

my(@array) = ( "<>aa<>bb<>cc<>dd<>", "ee<>ff<>gg" );

foreach $aref ( @array ) {
        $str .= $aref;
}

$str =~ s/\</\n\</g;
$str =~ s[ ^\n ]{}gsx;
print "$str\n";

No. 2692 # moto 2002/05/17 (金) 06:37:10
ふくしさん、aaaさん、
お二人のコードを参考にして解決できました。
ありがとうございました。

No. 2693 # 名無しさん 2002/05/17 (金) 14:02:00
>>2691 aaa
これはちょっと参考になりませんねぇ。。(aaaさんゴメン)
ちょっと間違ってます。

("[*1]<>aa<>bb<>cc<>dd<>[*2]", "[*3]ee<>ff<>gg"
与えられた配列の、*1〜3の所に項目が一つ増えただけで思ったようには動かないと思う。。

1つの変数にぶち込んだ時点で、*2 *3の区別ができなくなる。
そして、
$str =~ s[ ^\n ]{}gsx;
ですが、、^\nでマッチするところは、s(単一行として扱う)が付いてるから、頭の所("\n<>aa...")の\nが取れるだけだし、、gを付ける必要は無い
ここでまた一つ問題がある。。多分、motoさんの発言を見ると、*1の部分にも項目が来ると思われる。。"xx<>aa<>bb..."
そうすると、1行目に<>が入らず、、
xx
<>aa
...
ってなる。。。
あともう一つ。@arrayは配列だって分かるから括弧を付ける必要は無い
my @array = (...)こんな感じ

No. 2694 # 名無しさん 2002/05/17 (金) 14:21:57
自分で書いてみた。

my @target = ("<>aa<>bb<>cc<>dd<>", "ee<>ff<>gg");

my @result = map {
                my @tmp = split(/<>/);
                shift(@tmp) if $tmp[0] eq '';
                @tmp;
        } @target;


foreach (@result) {
        print "<>$_\n";
}

No. 2695 # G 2002/05/17 (金) 20:32:00
HP-UNIXで過去の日付を表示させる方法しりませんか?
ちなみにenv TZ=JST-9 dateでは1日分しかさかのぼれないので、
他の方法で知っている人がいれば教えてください。

No. 2696 # 68user 2002/05/18 (土) 01:39:02
>>2695 G
shellutils で GNU 版 date をインストールするか、perl で
    localtime(time()-60*60*24)
などとするのがお手軽なんじゃないでしょうか。

No. 2697 # G 2002/05/18 (土) 02:45:24
>>2696 68user
返答ありがとうございます。
なにぶん初心者なもので、アドバイスの意味があまりわからないの
ですが、これから調べてやってみようと思います。
会社の環境ゆえ、インストールはできないのでperlの方を参考に
させていただきます。自力でわからなかったときはまた、よろしく
お願いいたします。

No. 2698 # KL 2002/05/18 (土) 06:31:39
>>2689-2694

〜嫌がらせ編〜 「暗黙の初期化? 怖いけどイイ!」

while (length($a = substr("<>aa<>bb<>cc<>dd<>" . "ee<>ff<>gg", $b++, 1))) {
    uc($a) ne $a && length($c .= $a) == 2 && print "<>$c\n", $c = ''
}

〜お気楽編〜 「パターンマッチマンセー!」

$a = "<>aa<>bb<>cc<>dd<>" . "ee<>ff<>gg";
while ($a =~ /(\w\w)/g && print "<>$1\n"){}

〜メモリ倹約編〜 「入力元即処理!」

(push @x, "<>aa<>bb<>cc<>dd<>"), push @x, "ee<>ff<>gg";
map {while ($_ =~ /(\w\w)/g && print "<>$1\n") {}} @x;

#またはファイルから読み込む場合
while (<FILEHANDLE>) {while ($_ =~ /(\w\w)/g && print "<>$1\n") {}}

No. 2699 # KL 2002/05/18 (土) 06:41:44
よく拝見すると"Perl"とは入ってないですね 笑
>UNIX、CGI、ネットワーク、Java Servlet についての掲示板

No. 2700 # パルテノ [E-mail] 2002/05/22 (水) 01:07:34
はじめまして
HTTPプロトコルを利用したファイル転送について教えて下さい。

私はグラフィックデザインに関わっているので、インターネットを介して
画像や映像など比較的大きなデータを日常的にやり取りしています。
今は、ICQやMSNメッセンジャーのファイル転送を利用しているのですが
相手のファイアーウォールやルーターの設定から接続出来ない事もあります。

また接続が切れてしまった場合、続きから再開できるレジューム機能についても解説して戴けないでしょうか?

宜しくお願いします。

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