68user's page 掲示板

Prev< No. 2692〜2760> Next  [最新発言に戻る] [過去ログ一覧]
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メッセンジャーのファイル転送を利用しているのですが
相手のファイアーウォールやルーターの設定から接続出来ない事もあります。

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

宜しくお願いします。

No. 2701 # 石田安弘 [E-mail] 2002/05/23 (木) 15:48:08
はじめまして。石田と申します。
★件名★「UNIXの部屋」公開ありがとうございます。

*現在、私はlinux(Unix)のシェルプログラミングを勉強中です。
*ところが、manコマンドでは全然分からないので、
  GoogleやMLアーカイブ検索して調べていましたが、

*こちらのUNIXの部屋は非常に分かりやすく参考になります。

*分かりやすいポイントは、
    1)パラメータの意味が日本語で分かりやすく書いてある
    2)具体例がメッセージなど併せて書いてある。
ところが非常に分かりやすいです。

*私が今作っているスクリプトは
  1)redhatのupdateのFTPサイトと自分のpcの
      rpmパッケージリストを持って来て、マッチングして、
  2)不足分のファイル一覧を作成
      この中から必要なファイルをFTPでダウンロード

*とにかく、パッケージのアップデートは手間がかかるので、
  なるべく自動化しようと思っています。

* これからも「UNIXの部屋」がんばってください。

No. 2702 # 68user 2002/05/24 (金) 23:33:00
>>2699 KL
> よく拝見すると"Perl"とは入ってないですね 笑
もちろん Perl は UNIX であります (^^

>>2700 パルテノ
> 続きから再開できるレジューム機能
HTTP にはレジュームのような高級な機能はありません。二回目以降の
接続時に、単にデータの開始バイトを指定しているだけです。

接続が切れた場合は、ローカルに落したファイルサイズを見て、
たとえば 1000バイトまでダウンロードできているなら
    GET / HTTP/1.0
    Range: bytes=1000-
とします (ファイル先頭は 0 バイト目)。

http://www.studyinghttp.net/rfc_ja/2616/sec14.html#sec14.35

>>2701 石田安弘
> *こちらのUNIXの部屋は非常に分かりやすく参考になります。
ありがとうございます。改善点などありましたら指摘して下さい。

No. 2703 # くろう 2002/05/25 (土) 13:00:33
はじめまして、くろうです
C言語初心者がいきなりソケットプログラムを作っているのですが
どんな本を見ても、いまいちわからないことがあるので質問します。

UNIXで最大1Mハ゛イトの可変ファイルソケットで受信しているのですが
ソケットで受信する時、recvのバッファーのサイズはどのくらいとるのが適正値なのでしょう。

        char buf[4096];
        rtncd = recv(sockid,buf,sizeof(buf),0);

受信したテ゛ータは連結編集してます。
よろしくおねがいします。

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

No. 2704 # 68user 2002/05/25 (土) 13:24:13
>>2703 くろう
100 バイト単位で値を変えて、転送速度を計りましょう。

それが面倒なら 4096 でいいんじゃないでしょうか。
# 僕は面倒なので 4096。

No. 2705 # ゆくま 2002/05/27 (月) 21:04:19
皆さんはじめまして。ゆくまといいます。
いつも「UNIXの部屋」を活用させて頂いております。

現在、UNIXの*について調べているのですが、
もしご存知の方がいらっしゃったら教えていただけますでしょうか?

たとえば、

>ls
file01.dat file02.dat
>cat *

としたとき、catの表示順は必ず、
file01.dat の次に file02.dat
である(つまりソート順)、と決まっているのでしょうか?
もしくは不定なのでしょうか。

よろしくお願いいたします。

No. 2706 # 68user 2002/05/27 (月) 22:10:29
>>2705 ゆくま
> file01.dat の次に file02.dat である(つまりソート順)、
> と決まっているのでしょうか?
はい、ソートされます。sh・csh・tcsh・bash・zsh・ksh
など全てのシェルでソートされるはずです。

ただし cat *2* *1* だと file02.dat file01.dat の
順になります。

No. 2707 # ゆくま 2002/05/28 (火) 10:08:28
>>2706 68user
レスありがとうございます。

これってやはり考えるまでも無い当たり前のことなんですかね。
これまで何年かUNIXを使ってきて、そうだとは思っていた
のですが、改めて調べてみたところ、そのことを明記している
ようなドキュメントを見つけることができなかったのです。

おそらく何らかのパブリックなドキュメントには明記してある
ことだとは思うのですが。。。
ご存知の方はいらっしゃいますでしょうか?

No. 2708 # 68user 2002/05/28 (火) 11:14:07
>2707
> おそらく何らかのパブリックなドキュメントには明記してある
> ことだとは思うのですが。。。
手元にあるマニュアルを調べてみました。

FreeBSD 4.5-RELEASE の tcsh(1)
      ファイル名置換
              単語が `*', `?', `[', `{' のいずれかの文字を含む場合、また
              は 先頭が `~' で始まる場合、その単語はファイル名置換 (ある
              いはグロブ (globbing) と呼ばれます) の候補になります。この
              ような単語をパターン (グロブパターン) と見なし、そのパター
              ンにマッチするファイル名のリストをアルファベット順で整列し
              たもので置き換えます。

FreeBSD 4.5-RELEASE の csh(1) ・・・発見できず

Solaris2.6 の sh(1)
    [ファイル名の生成]
          コマンド実行に先立ち、各コマンドワードは、 *、?、および [ を
          含んでいないかチェックされます。これらの文字のいずれかがある
          と、そのワードはパターンとみなされます。このワードは、パター
          ンと一致する、辞書編集方式の順にソートされたファイル名に置換
          されます。

Solaris2.6 の csh(1) ・・・発見できず

bash-2.0.5a
      Pathname Expansion
              After word splitting, unless the -f option has been set,
              bash scans each word for the characters *, ?, and [. If
              one of these characters appears, then the word is regarded
              as a pattern, and replaced with an alphabetically sorted
              list of file names matching the pattern.

No. 2709 # 68user 2002/05/28 (火) 11:35:03
>>2708 68user
> FreeBSD 4.5-RELEASE の csh(1) ・・・発見できず
FreeBSD 4.5-RELEASE の sh(1) ・・・発見できず

の間違いです。

No. 2710 # ゆくま 2002/05/28 (火) 11:49:20
>2708
>手元にあるマニュアルを調べてみました。

わざわざありがとうございます。
なるほど!灯台下暗しでした(申し訳有りません、、、)。

ちなみにこちらの手元も調べてみましたところ、

Solaris7 のcsh(1)
[ファイル名置換]
          *、?、[、または { のうちのいずれかの文字を含むクォートされ
          てい な い ワード、または ~ で始まるワードは、以下のように
          アルファベット順にソートされたファイル名のリストに展開 (グ
          ロビングとも呼ばれる) されます。

とありました。

お手数をおかけしました。
助かりました!

No. 2711 # ゆくま 2002/05/28 (火) 11:59:36
>2710
追記です。
当方のSolaris2.6のcsh(1)にもSolaris7と同じ表記が見つかりました。
ということは、68userさんの環境と異なるのでしょうか?

No. 2712 # G 2002/05/28 (火) 13:44:33
HP-UXのawkコマンドのパターン指定ではシェル変数は使えないのでしょうか?下記のような条件で、いろいろ形を変えて試して見たのですがまったくうまくいきません。分かる方教えてください。

例:awk '$1<=${hensuu}{print $0}' file.txt
※${hensuu}=1,2,3,4,5・・・・・・

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

No. 2713 # 68user 2002/05/28 (火) 16:18:16
>>2711 ゆくま
> 当方のSolaris2.6のcsh(1)にもSolaris7と同じ表記が見つかりました。
こちらの Solaris2.6 にも同じ記述がありました。流し読みしたので
見逃していたようです。

>>2712 G
シェル変数は、シェルのための変数であって、シェル以外からはどうやっても
参照できません。よって、
    % env MAX=123 awk '$1<=ENVIRON["MAX"]{print $0}' file.txt
などと環境変数を使うか、
    % awk -v max=123 '$1<=max {print $0}' file.txt
で変数を指定しましょう。

No. 2714 # G 2002/05/28 (火) 18:56:58
>>2713 68user
ありがとうございました。教えていただいたコマンドで上手くいきました。

No. 2715 # STP 2002/05/31 (金) 17:13:59
こんにちは、時々見させてもらってます

PerlでIO::Socketを使っているのですが、
HTTPのPersistent connectionの様な、「サーバーから一旦データが
送られてきた後のコネクションは維持しつつも無通信な状態」
といった状態をプログラム側で判別できずに困ってます

この間にsysreadなどを使うとデータが送られてこないためずっと
待ってしまいますので…

IO:Selectのcan_read($timeout)も試してみたのですが、
この様な状態ではしっかりとソケット識別子を返してしまう
みたいで結果としてsysreadの所に行ってしまってそこで止まってしまう
様な感じでした。

何か良い知恵はないでしょうか??
まあHTTPならcontent-lengthを見て1オブジェクトの受信の終わりを判別すれば良いんでしょうけど…

No. 2716 # 68user 2002/05/31 (金) 17:54:38
>>2715 STP
> この様な状態ではしっかりとソケット識別子を返してしまうみたいで
ということはないと思いますが、問題が発生する最小限の
プログラムを見せていただければ何かわかるかもしれません。

# あと、OS や perl のバージョンなども。

No. 2717 # よー 2002/05/31 (金) 18:10:14
こんにちは、時々見させてもらってます。

PerlでHTTPSクライアントを作成したいのですが
サンプルありますでしょうか

No. 2718 # 名無しさん 2002/05/31 (金) 20:11:59
>>2717 よー
LWP?

No. 2719 # 68user 2002/05/31 (金) 22:18:28
>>2717 よー
何をどう書いたのか全く覚えていませんが、LWP と Crypt-SSLeay で
できるようです。
>>1848 d-jiro
>>1849 68user
>>1854 d-jiro
>>1855 68user

No. 2720 # よー 2002/06/01 (土) 08:28:35
Socketを用いたPerlでHTTPSクライアントのサンプルは
ありませんか?

No. 2721 # 68user 2002/06/01 (土) 15:11:21
>>2720 よー
http://www.thomas-fahle.de/pub/perl/LWP/HTTP/HTTP_Get.html#https

No. 2722 # Netboy [E-mail] 2002/06/01 (土) 20:20:51
68userさん,こんにちは.
失礼ながらご連絡事項をこちらでお伝えします.

このサーバーがポートスキャンの踏み台にされたそうです.
カーネルも古いし本格的な対策は無理だと思いますが
そちらでできる対策があれば試していただけませんか.

> 早速ですが、サンライズシステムズ 様の配下にある
> 210.249.139.22 というホストから
> ポートスキャンが行われた模様との連絡が入りました。

連絡経路はTTCNパワードコムの鎌田さん->両毛の新堀さん->私の順です.

No. 2723 # Netboy [E-mail] 2002/06/01 (土) 20:29:35
実は5/30に胆嚢摘出の手術を受けまして,入院中なのです.
動くに動けない感じで,今も看護婦の目を盗んで携帯でつないでいます.
何かありましたらお気軽にメールください.

No. 2724 # 68user 2002/06/01 (土) 23:39:56
>>2722 Netboy
現在対応中です。ひととおり終わりましたら作業項目を書き
込みます (メールの方がよろしければメールします)。

> 実は5/30に胆嚢摘出の手術を受けまして,入院中なのです.
大変ですね。御大事に…。

No. 2725 # 68user 2002/06/02 (日) 03:49:47
>>2722 Netboy
メール送りました。

No. 2726 # Netboy 2002/06/06 (木) 14:07:25
ただ今再起動しました

No. 2727 # 68user 2002/06/06 (木) 15:44:25
利用者の方へ。

サーバを置いてあるところの管理者の方が、2002/06/02 にマシンの
電源を落とされたため、しばらくアクセスできない状態になっていました。

No. 2728 # yun [E-mail] 2002/06/07 (金) 14:05:48
PerlでのFTP接続を行いファイル転送をしたいのですがうまくいかず
困ってます。
$proto = getprotobyname('tcp');
$port = getservbyname('ftp', 'tcp');
$iaddr = inet_aton($hostname) or die "$hostnameのアドレス取得失敗";
$paddr = pack_sockaddr_in($port,$iaddr);
socket(SOCKET,PF_INET,SOCK_STREAM,$proto) or die "socket失敗";
connect(SOCKET, $paddr) or die "connect失敗";
# ファイルハンドル COMMAND をバッファリングしない
select(SOCKET); $|=1; select(STDOUT);
#---------- ユーザ認証 ----------------------
print SOCKET "USER $username\r\n";
print SOCKET "PASS $password\r\n";
#------------------------------------------
と、ユーザー認証まではいけるでのすがその後で
エラーとなってしまいます。
ちなみにユーザーとパスともにあっているはずなんですが・・・。
情報不足かと思いますが何か思い当たることがありましたら
指導のほどお願いいたします。

No. 2729 # yun [E-mail] 2002/06/07 (金) 16:39:14
↓のNo.2728の件です。
接続まで何とかできたのですがファイルをアップロードしたいのですが
どのようにすればいいのかわからなくて・・・。
教えていただけませんか??

No. 2730 # 68user 2002/06/07 (金) 16:42:28
>>2729 yun
2729 は 2728 の補足ですか? それとも 2728 の件は解決したのですか?

エラーが出るのですか? やり方がわからなくて先に進めないのですか?

No. 2731 # yun 2002/06/11 (火) 10:43:01
接続後のPUTの仕方がわからないので先にすすめないんです。
ん〜情報が少なくて申し訳ないです。
何かわかることがありましたらお願いします。

No. 2732 # ふくし [E-mail] 2002/06/11 (火) 10:56:35
いつも唐突な知るもんですいません。
「日本語情報処理」という本を読んでいたら、
EUC を内部コードとして使うコンピューター(?)か
ソフトウェア(?)として
「焼き獣ホスト(YKH)」というのが出てきたんですが、
焼き獣ホストで Google しても見つかりません。
これ、何かご存知の方はいらっしゃいますか?

No. 2733 # 68user 2002/06/11 (火) 11:53:35
>>2731 yun
> 接続後のPUTの仕方がわからないので先にすすめないんです。
http://X68000.startshop.co.jp/~68user/net/ftp-1.html を読んでください。

>>2732 ふくし
>「焼き獣ホスト(YKH)」
これですかね。端末エミュレータみたいですね。

    http://www.geocities.com/Tokyo/Flats/7725/view_info.htm
        YKH is a small application of this kind, that emulates Japanese VT-320
        terminal under MS-DOS and is freely distributed under the terms of the
        GNU general public licence

No. 2734 # リュウ 2002/06/11 (火) 20:45:03
はじめまして。リュウと申します。

初心者で申し訳ないのですが、質問があります。
HP9000にHP-UX11.0のコールドインストールをしているのですが、
毎回リブート後にメニューが出るようになってしまいました。
メニューを出さずに通常に内蔵ディスクから起動されるようにするには、
どのようにしたらいいでしょうか?

あと、
Interact with IPL?>
で、'Y'を押して
IPL>
から抜け出せなくなってしまいました。
exit,quitともダメです。。。

あわせてよろしくお願いします。

乱文で申し訳ございません。

No. 2735 # だいすけ 2002/06/12 (水) 10:43:26
ほんとに初心者です、おしえてください
課題でechoサーバ及び、クライアントのプログラムをC言語とPerlで作成する。というのがでたのですが、echoサーバはこのHPでプログラムが掲載してあるのでなんとか自分でやってみようと思うのですが、この場合のクライアントとはどのようなプログラムになるのでしょうか?
よろしければおしえてください。
宜しくおねがいします。

No. 2736 # だいすけ 2002/06/12 (水) 10:51:23
もう一つ質問なのですが。
課題2
・chargenサーバ及び、クライアントのプログラムをC言語とPerlで作成する。
フリーなUnix系OSで動作する事。
chargenサーバはデーモンとして動作する事。
chargenサーバは、標準telnetコマンドとも通信可能な事。
chargenサーバは、ログ機能を有する事。
chargenクライアントは通信先がchargenサーバと判明した時点で通信を終了させる
事。
という課題もでています。初心者の僕にはまったく課題の意味がわかりません。どなたかおしえてくれないでしょうか?たびたびすいません。宜しくお願いします。

No. 2737 # 68user 2002/06/12 (水) 13:01:04
>>2734 リュウ
せっかく「Interact with IPL」というキーワードがわかっているのですから、
それで検索しましょう。ついでにキーワードに「HP-UX」も付けておきましょう。
そしたら一発でひっかかります。

    http://www.google.com/search?hl=ja&q=Interact+with+IPL+HP-UX&lr=lang_ja

>>2735 だいすけ
> この場合のクライアントとはどのようなプログラムになるのでしょうか?
    http://X68000.startshop.co.jp/~68user/net/sample/http-client.pl
をちょっといじれば、echo クライアントになります。

>>2736 だいすけ
chargen については RFC864 をどうぞ。
    http://www.goto.info.kanagawa-u.ac.jp/~horiyuki/rfc/rfc864j.txt

その他の疑問点については、まず基本となる雛型を作ってみてから、ですね。

No. 2738 # だいすけ [E-mail] 2002/06/12 (水) 14:21:21
たびたびすいません。このような課題のクライアントのことなのですが?
どのようなプログラムになるのでしょうか?

echoサーバ及び、クライアントのプログラムをC言語とPerlで作成する。
フリーなUnix系OSで動作する事。
echoサーバはデーモンとして動作する事。
echoサーバは、標準telnetコマンドとも通信可能な事。
echoサーバは、ログ機能を有する事。
以上は必須機能です。
余裕があれば、
サーバには大文字、小文字変換機能をオプションで持たせる。
クライアントは文字列をファイルから読み取り、送信するオプションを付ける。
等、面白い機能を付加して下さい。

No. 2739 # だいすけ [E-mail] 2002/06/12 (水) 14:26:17
ほんとうに初心者なのでchargenについてはプログラムを書き始めることもできません。どうかたすけてください。

No. 2740 # 68user 2002/06/12 (水) 15:32:06
仕組みやプログラムを理解する手助けならできますが、答えをそのままあげる
ことはできません (おもしろくないから)。

宿題スレなら、誰かがソースを書いてくれるかもしれません。
    http://pc.2ch.net/test/read.cgi/tech/1020785918/l50


てゆーか、高専生か大学生かと思っていたんですが、社会人なのですか?

自分なりにある程度調べた上で、
    「ここまでは理解できたけど、この部分がわからないから教えてくれ」
という質問の仕方を身につけた方がよいと思いますが、まぁいらぬお節介でしょうね。

No. 2741 # バクモン 2002/06/12 (水) 19:05:24
はじめまして。
UNIXのftpコマンドについて、お聞きしたいことがあります。

ftpコマンドを使用して、WinNTサーバからUNIXへデータを
getしているのですが、以下の事象が発生しています。
・対象ファイルが0バイトの時、getコマンド終了後、そのまま
    ftpのプロセスがハングアップしてしまうことがある。

シェル内で以下のように使用しています。
ftp -n <<EOF
open [IPアドレス]
user [ユーザ名] [パスワード]
binary
get [getするファイル名] [保存するファイル名]
close
quit
EOF

現象を見る限り、getコマンドまでは完了してるようです。
psコマンドにて、ftpのプロセスを検索すると、
ftp -n
が残ってしまっています。

UNIX側からタイマーなどでftpのセッションを切ることは可能
なのでしょうか?

No. 2742 # 68user 2002/06/12 (水) 21:34:08
>>2741 バクモン
それって、要は ftp か ftpd のバグですよね。
    ftp -n < input &
    pid=$!
    sleep 300
    if [ `ps -p $!` ]; then
        kill $!
    fi
的な監視をするのが普通でしょうか。

No. 2743 # バクモン 2002/06/13 (木) 10:35:47
>>2742 68user
早速のご回答、ありがとうございます。
確かにftpプロセスの監視しかないかな、と思います。
そこで、再度質問なんですが、このftpコマンドを使用している
シェルがCシェルで書かれています(すいません、先に言って
おくべきでした)。
Cシェルでは直前に実行したコマンドのプロセスIDを取得する
方法はあるのでしょうか?
($!はKシェル、Bシェルのみの文法と調べたら書いてありました)

No. 2744 # だいすけ 2002/06/13 (木) 10:59:34
echoサーバの
3: #include <stdio.h>
        4: #include <netdb.h>
        5: #include <sys/types.h>
        6: #include <sys/socket.h>
        7: #include <sys/uio.h>
        8: #include <unistd.h>
        9: #include <sys/param.h>
      10: #include <netinet/in.h>
      11: #include <arpa/inet.h>
この部分なのですが、#include <stdio.h>はわかるのですが、
他の物は参考書も見ても掲載されていません。
なんなのでしょうか?

No. 2745 # シゲ 2002/06/13 (木) 12:36:14
昨日から、UNIXを勉強しだしました。大変、初歩的な質問かもしれないのでごめんなさい。
アクセス状態が-rw-------のファイルをmoreで表示させたいのですが、私はファイルの所有者ではないので表示させることができません。chmodは使わないでアクセスを出来るようなのですが、どうすれば良いのですか?
どなたか教えてください。よろしくお願いします。

No. 2746 # シゲ 2002/06/13 (木) 14:24:42
>>2745 シゲ
すみません。解決しました。
パスワードが解ればrootで入れるんですね。

No. 2747 # 68user 2002/06/13 (木) 17:39:03
>>2743 バクモン
> Cシェルでは直前に実行したコマンドのプロセスIDを取得する
> 方法はあるのでしょうか?
$status です。

>>2744 だいすけ
例えば、関数 listen を使いたい場合は、man listen として、
include すべきファイルを調べます.同様に accept や bind など、
使用している関数全てについて調べていくと、それだけのファイルを
include する必要がある、ということです。

No. 2748 # 木場 2002/06/13 (木) 23:06:36
ここのサイトのC言語のHTTPクライアントを使わせてもらって色々勉強させてもらってます。そこで質問なのですが、imodeのURL例えば(http://mobile.yahoo.co.jp/)のレスポンスが返ってくるプログラムを作ろうとしているのですが、どうも、302 FOUND がでてしまい、うまくいきません。どのように解決したらよいでしょうか?

No. 2749 # 68user 2002/06/14 (金) 00:59:09
>>2748 木場
Locaiton: ヘッダに示されている URL を読み込めばよいです。

No. 2750 # だいすけ 2002/06/14 (金) 09:21:22
前回のことについての質問のつづきですが
僕のもっている参考書には掲載されてないのですが、
僕のもっている参考書が古いということでしょうか?

No. 2751 # バクモン 2002/06/14 (金) 09:39:50
>>2747 68user
ご回答ありがとうございます。
ただ、$statusは直前のコマンドのリターン値がセットされる
と認識しています。
Cシェルで直前のプロセスIDを取得するには、プロセスをバック
グラウンドで動かすようにして、その際に標準出力されるプロセス
IDをテキストファイルにおとして、grepなりをする方法しか
ないかな、と考えています。

そこで、以下を考えました。
ftp -n <<EOF &
open [IPアドレス]
user [ユーザ名] [パスワード]
binary
get [getするファイル名] [保存するファイル名]
close
quit
EOF

これを実行すると
[1] 10161
と言った形でプロセスIDが出力されます。
ただ、これをテキストファイルに落とす方法がわかりません。
多分、リダイレクトをするのだと思っているのですが、どこに
それをうめこめばいいのでしょうか?

No. 2752 # だいすけ 2002/06/14 (金) 09:50:04
それとも
C言語で新しくできた関数なのでしょうか?

No. 2753 # 68user 2002/06/14 (金) 12:46:53
>>2751 バクモン
ああ、そういう意味ですか。

tcsh だと $! で取れますが、csh では無理かもしれないですね。
jobs -l だと取れそうですが、どうでしょうか。

ただ、僕なら監視用プロセスを別に起こします。

例えば、
    mkdir /tmp/.ftp-lock
    ftp -n <<EOF
    open
    ..
    quit
    EOF
    rmdir /tmp/.ftp-lock
として、監視プロセスは n 秒前より過去に /tmp/.ftp-lock が作成されて
いたら、
    kill `ps -ef | grep get-file.sh | grep -v grep'
する、とか。

もちっと確実にするなら
    ln -s $$ /tmp/.ftp-pid
    ftp -n <<EOF
    open
としてプロセス番号を特定できるようにする方法もあります ($$ は sh の
プロセス番号なので、$$ の子プロセスを kill する必要がありますけど)。


>>2750 だいすけ
「何が」参考書に掲載されていないのですか? netdb.h? listen? accept?

ここらへんの関数については規格化されていません。よって、UNIX では
使えても Windows では関数そのものがなかったりします。

例えば
    「ANSI C マニュアル」
といった書名ならば、規格化された関数については網羅しているかもしれませんが、
規格外の関数については載っていなくても不思議ではありません。

No. 2754 # だいすけ 2002/06/14 (金) 14:10:21
5: #include <sys/types.h>
                6: #include <sys/socket.h>
                7: #include <sys/uio.h>
                8: #include <unistd.h>
                9: #include <sys/param.h>
            10: #include <netinet/in.h>
            11: #include <arpa/inet.h
これらが参考書に掲載されてないという意味だったのですが
manコマンドでしれべていくのですね。
どうもありがとうございます。

No. 2755 # ビギナー 2002/06/14 (金) 15:32:49
はじめまして。
まだ、UNIXをはじめたばかりの初心者です。
いま、windows環境のマシンからtera termを使ってUNIXマシンにpostgressqlをインストールしています。そこで、「カーネルのコンフィギュレショーションファイルをチェックする」と書かれているのですが、これってどうやるのですか?
どなたか教えてください。
よろしくお願いします。

No. 2756 # 68user 2002/06/14 (金) 17:20:34
>>2755 ビギナー
> 「カーネルのコンフィギュレショーションファイルを
> チェックする」と書かれているのですが、これって
> どうやるのですか?
OS によって違います。

http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/kernel-resources.html
をどうぞ。

No. 2757 # ビギナー 2002/06/14 (金) 21:05:51
>>2756 68user
ありがとうございます。

No. 2758 # きば 2002/06/15 (土) 03:30:10
ご回答ありがとうございました。
今もちょっとわからないとこがあるのですが、
もうちょっと考えてわからなかったら、
聞きにきます。

No. 2759 # きば 2002/06/15 (土) 10:43:34
再び質問です。
先ほどの質問と症状は似ているのですが、imodeのURLで(http://mobile.yahoo.co.jp/yahoo/index.html)のリクエストを出すと

HTTP1.0 302 FOUND
DATE
Location http://mobile.yahoo.co.jp/error/404.html
Conection: close

のレスポンスが返ってきて、locationの部分を入れても実際のimodeのURLがゲットできなくて困っています。どのようにC言語のHTTPクライアント(1)
のソースをいじればちゃんとしたレスポンスが得られるでしょうか?
よろしくお願い致します。

No. 2760 # 黒木 2002/06/15 (土) 12:02:31
初めまして黒木と申します。UNIX初心者です。

/usr/dict/words という辞書ファイルからEが2個以上出て、AとDとTがそれ
ぞれ1個以上出て、最初がLで始まる単語が書かれてる行を見つけるには、
どういう1行コマンドを書けばよいでしょうか?よろしくお願いします。
(但し、文字は全て大文字・小文字を区別しない)

*ファイルは何でも良いので、見つける方法が知りたいのです。

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