68user's page 掲示板

Prev< No. 3186〜3286> Next  [最新発言に戻る] [過去ログ一覧]
No. 3186 # NPK [URL] [E-mail] 2003/04/12 (土) 16:07:52
>>3184 68user

まだDNSが無いのがちょっとどうかと思いますが(^^;
とりあえず置いてみました。

# 古いdyndnsのパスワード忘れたものでそのうちとろうと思ってとりあえずしばらく放置です(笑)

No. 3187 # Phantom 2003/04/13 (日) 23:38:33
はじめまして。unix初心者です。

定期的にhtmlをftpでファイルをアップロードしたいと思いました。それで、cronで実現しようと考えcrontabで編集したのですが上手く動いてくれません。コマンドが間違っているかと思い、console上で実際にやってみたところ普通に動きました。どうしてcronでは上手く動いてくれないのでしょうか?

以下の様にやっています。
10 0 * * * ftp -n < /home/hogehoge/ftp.sh

ftp.shの中身
open ftp-server
user hogehoge passwd
ascii
prompt
cd data/
put index.html
quit

No. 3188 # ゆきち(もじら組) [URL] 2003/04/14 (月) 14:02:24
もじら組のゆきちといいます。いつも、こちらの記事は参考にさせていただいています。

>NPKさん
下記で紹介されているツールバーですが、「新もじら瓦版」というニュースサイト(?)があるのですが、そこでツールバーの報道を行なっても良いでしょうか。
ぜひとも、紹介させていただきたいのですが。

No. 3189 # ゆきち(もじら組) [URL] 2003/04/14 (月) 14:07:18
追記
今、InfoseekとX68Kの両方を利用してみたのですが、「新しいタブで開く」(Infoseek)「新しいWindow」(X68K)で開くを利用すると、最大化(全画面表示)になって、かつ、右にスクロールバーが出ない状態です。最大化を解くと、小さくなりますが、スクロールバーが出ませんね。1.4αです。

こんなところですいませんが、とりあえず、利用報告です。

No. 3190 # NPK [URL] 2003/04/14 (月) 19:27:54
ここで会話することじゃないと思いますが(^^;
(68userさんすいません

>>3188 ゆきち(もじら組)
紹介に関しては問題ないです。
鯖が貧弱なので落ちたらごめんなさい(笑)

開発には1.4α使ってるんですが家ではそんなバグは確認されてませんね・・・
もしかしたらほかのXULアプリと衝突を起こしてるのかもしれません。
そのうち調べてみます。

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

No. 3191 # ゆきち(もじら組) 2003/04/15 (火) 00:42:11
ありがとうございます。今、時間がとれないですが、紹介してみようと思います。ありがとうございました。

#管理人さん、すいませんでした。

No. 3192 # 68user 2003/04/15 (火) 06:48:00
>>3185 ふくし
> \Q〜\Eより先に変数展開が行われるみたいです。
プログラミング Perl 第 3版では、その辺の評価順序は明示
されていないみたいですね。

>>3187 Phantom
普通、/var/mail/$USER などに実行結果がメールで届くはずです。
そこに何か情報があるかもしれません。

>>3189 ゆきち(もじら組)
FreeBSD 4.7-RELEASE + mozilla-1.4b (2003041308) ですが、再現
しませんでした。ただ、「新しいタブで開く」としても、(タブでなく)
新しいウィンドウが開いてしまいます。

infoseek の方ですが、アプリとしての感想を述べさせていただくと、
    - うちの常用のサイズではウィンドウの幅が足らず、「新しいタブで開く」が
        切れる (ウィンドウサイズを広げれば表示される)
      「Search by Dictionary」と単語入力フォームが広すぎるのかも。
    -「Search」で検索じゃなくて、「国語」「和英」「英和」それぞれを押せば
        検索するといいかも (そしたら「Search」は不要)
    - 「和英」と「英和」はひとつにまとめて、フォームの内容が ASCII なら
        英和、日本語なら和英、だといいかも。
    - てなところを設定で変更できたりするとうれしいかも。
    - 「英→日」はとても便利ですねぇ。
    - 入力した単語の履歴が残って、さらに補完してくれたりすると素晴らしい。
てな感じです。

勉強用にとりあえず作ってみただけなのか、あるいは継続的に
開発されるのかわかりませんが、もし後者であればご検討ください。

>>3190 NPK
> ここで会話することじゃないと思いますが(^^;
全く問題ないです。

>>has
しばし待たれよ。

No. 3193 # ふくし 2003/04/15 (火) 17:14:41
ずっと前に、

while (<>) {
  ...
}

のファイルハンドル ARGV に binmode が適用されないので、

while (<>) {
  ...
}

における ActivePerl の \r\n => \n 置換を抑制できない、
という話をしましたが、5.6 以降では binmode のかわりに

use open IN=>"raw:";

だと動作するようです。PerlIOってやつですね。

No. 3194 # ふくし 2003/04/15 (火) 17:16:48
>>3193 ふくし

自己レスれす。

use open IN=>":raw";

の間違いでした。

No. 3195 # /tk 2003/04/17 (木) 11:05:15
>>3185 ふくし

perldoc perlre
> You cannot include a literal "$" or "@" within a "\Q" sequence. An
> unescaped "$" or "@" interpolates the corresponding variable, while
> escaping will cause the literal string "\$" to be matched. You'll need
> to write something like "m/\Quser\E\@\Qhost/".

>>3192 68user
> その辺の評価順序
「詳説 正規表現」のP245とか…

No. 3196 # 2003/04/17 (木) 15:44:34
改行コードについて質問いたします。
UNIX(HP-UX)の改行コードはLFだと思うのですが、
このコードを削除して複数行のテキストファイルを
一行にすることは可能でしょうか?

No. 3197 # 68user 2003/04/17 (木) 23:25:38
>>3195 /tk
> 「詳説 正規表現」のP245とか…
書いてありました。正規表現エンジンを作ってみる本だと思って
買ってみたらそうじゃなかったので、ほとんど読んでなかったり。

>>3196
tr -d '\n' < file
perl -pe 's/\n//' < file
などなど。

No. 3198 # Phantom 2003/04/18 (金) 01:46:00
>>3192 68user
> 普通、/var/mail/$USER などに実行結果がメールで届くはずです。
という事でしたが、何故か何も届いていませんでした。

それで、もう1度すべて見直して、ftp.shの中身を以下のようにしたら
出来ました。

ftp.sh
open ftp-server
user hoge passwd
prompt
cd data/
ascii
del index.html
put /home/hoge/public_html/index.html ./index.html
quit

なんか、putがうまく行ってなかったみたいです。それで、フルパスで
書いたら上手く行くようになりました。ここまで、書かなければならない
とは、、、

ご迷惑おかけしました。

No. 3199 # NPK [URL] [E-mail] 2003/04/18 (金) 18:21:10
>>3192 68user

実験的な要素は強いですけど基本的に自分が使うから作ってるのでよさげなら取り込みます(笑)
ってな訳で微妙に弄ってみました。
セレクトボックス以外は大体取り込んだと思います。

No. 3200 # oMH [E-mail] 2003/04/19 (土) 00:24:43
エンベロープを変えてメールを送る方法を超初心者向けにわかりやすく説明していただけませんか?

No. 3201 # 68user 2003/04/21 (月) 01:53:11
>>3199 NPK
FreeBSD 4.7-RELEASE + 昨日あたりの nightly で最新版を
インストールして mozilla を再起動したところ、mozilla が
起動しなくなりました (何かを poll(2) してずっと待っている)。

~/.mozilla/ をリネームしてみたところ起動したのですが、設定が
全部元に戻るのは避けたいので、infoseek transfer だけを削除
する方法を教えてください。

>>3200 oMH
どういう環境で実現したいのか わからないので無理っす。

No. 3202 # NPK 2003/04/21 (月) 11:05:30
>>3201 68user

一応そういう事は予想していてあとゆあおうんりすくと書いたんですがね(^^;

chromeの中にあるchrome.rdfからinfoseek_transferに関する項目を削除
chromeの中にあるoverlayinfoディレクトリ内navigatorディレクトリの
contentの中にあるoverlays.rdfからinfoseek_transferに関する項目を削除

これでアンインストールできます。

No. 3203 # 68user 2003/04/23 (水) 00:23:40
>>3202 NPK
> 一応そういう事は予想していてあとゆあおうんりすくと書いたんですがね(^^;
別にクレームをつけているわけではないです。単なる報告と質問の
つもりでした。

で、アンインストールして、再度インストールしたところ正常に動いている
ようです。ありがとうございました。

てゆーか、
    http://ryuzi.dyndns.org/mozx/j_googlebar/index.html
にちゃんと書いてありましたね。失礼しました。

No. 3204 # NPK 2003/04/23 (水) 08:04:22
いや、そういうリスクがあるので自分で治せない場合はやばいっすよ〜みたいなニュアンスで書いたんですが(^^;

別にクレームとしては受け取ってないですよ。
報告はあったほうがありがたいですし。

1.4のナイトリーは大規模な変更が行われてるようですのでたぶんこれからもこういうことがあると思います。
ですので、むしろ報告していただけるほうがありがたいです。

No. 3205 # teru [E-mail] 2003/04/23 (水) 14:55:39
別々のディレクトリのファイルどうしの日付を見てファイル更新が新しければ、コピーするというスクリプトを作りたいんですけど、そのようなコマンドはありますか?

No. 3206 # awa 2003/04/23 (水) 17:21:02
もしご存知でしたら教えてください。
例)
temp/aaa/bbb/ccc
cccディレクトリの中に 
111
222
333
と3つのファイルがあるとします。
  
その時に
cccディレクトリに行き
「ls」コマンドを打つと
111
222
333
と表示されると思いますが
この表示を以下のようにフルパスにしたい。
temp/aaa/bbb/ccc/111
temp/aaa/bbb/ccc/222
temp/aaa/bbb/ccc/333
というのが質問です。
  
もしご存知でしたらご教授をお願いします。
  
以上
よろしくお願いします。
  

No. 3207 # has 2003/04/23 (水) 23:52:57
>>3205 teru
rsyncというコマンドがあるそうです。
http://www.turbolinux.co.jp/knowledge/public/178.html

>>3206 awa
ls | perl -nle "print \"$PWD/\$_\";"
一応動きます。
#1文字目が'/'なのをフルパスというのでは?

No. 3208 # Phantom 2003/04/24 (木) 02:23:40
分かる人にとっては、下らない質問かもしれませんがお分かりでしたら
お願いします。あと、私はperlは全然分かりません。。。

perlで実行した内容結果がindex.htmlというHTMLファイルで出力されるの
ですが、それをcronで決まった時間で実行しています。そして、その出力さ
れたファイルをftpでアップしたいと考えています。しかし、以下のように
cronを書くと駄目でした。

20,50 0-23/2 * * * perl hoge.pl | ftp -n < ftp.up

どう駄目かというと、説明する必要ないかもしれないのですが、ftp上に置
かれるindex.htmlファイルが最新のものではなく、その前の時間のファイル
になってしまうのです。(0時50分に更新すると、ファイルの時間は0時20分
のものになってしまうということです。)原因は明確的で、perlが実行され
出力される前のファイルをftpでアップしている事、にあるのは分かってい
ます。ただ、その解決方法がわかりません。
perlのファイルを書き換えないと駄目なんでしょうか…。それとも、別の
方法があるのでしょうか?

No. 3209 # 68user 2003/04/24 (木) 09:10:30
>>3204 NPK
> そういうリスクがあるので自分で治せない場合はやばいっすよ〜
ごもっともです。精進します。

>>3205 teru
もしシェルスクリプトでやるのであれば test(1) を使って
    if [ "$fromdir/file1" -nt "$todir/file1" ]; then
          cp -f $fromdir/file1 $todir/file1
    fi
など。

>>3208 Phantom
> perl hoge.pl | ftp -n < ftp.up
perl と ftp を同時に実行しているので、perl が書き換える
前に ftp で put しているのでしょう。

そもそも
      % command1 | command2 < file
というのはおかしいです。command2 の標準入力に渡したいのは、
command1 の出力なのか、あるいは file なのかが不明確だから
です。sh 系だとなぜかエラーにならないようですが、csh 系だと
      Ambiguous input redirect.
と怒られます。

というわけで、
      perl hoge.pl ; ftp -n < ftp.up
でしょう。

もし hoge.pl が
      - 正常終了時には 0 を返す (exit(0))
      - 異常終了時には 1 以上を返す
という UNIX コマンドの一般的なルールに従っていて、hoge.pl が
異常終了した場合には ftp を実行したくないのであれば、
      perl hoge.pl && ftp -n < ftp.up
の方をお勧めします。

No. 3210 # Phantom 2003/04/24 (木) 18:09:57
>>3209 68user
> perl hoge.pl && ftp -n < ftp.up
これで、思い通りに出来ました!有難う御座いました。
凄く単純なことにミスをしていたんですね。お恥ずかしい。
sh 系でもエラーはいて欲しいと思いました。

No. 3211 # 11SE 2003/04/29 (火) 23:14:01
はじめまして。

マシン:HITACHI3050
OS:HI-UX
のマシンのIPアドレスを変更したいのですが、
Hostsファイルの変更だけで大丈夫でしょうか?
HP-UXのように、samコマンドみたいなものがあるのでしょうか?

よろしくお願いします。

No. 3212 # 68user 2003/04/30 (水) 00:06:23
>>3211 11SE
HI-UX も HP-UX もさわったことはないのでわかりませんが、一般的な
UNIX なら /etc/hosts は、ただの IP アドレスとホスト名のマッピングを
決めるファイルです。

/etc/hosts はマシン (正確にはインタフェース) の IP アドレスを決める
ファイルではないので、何かしらのファイルを変更しないといけないでしょう。

管理コマンドを探すか、
        # find /etc -type f | xargs fgrep 10.0.0.1
などでどのファイルに何が書かれているのか探しましょう。

No. 3213 # 伊藤@管理初心者 2003/05/04 (日) 00:31:48
はじめまして最近Laboの管理者にはじめてなった伊藤と申すものです。
まず、状況から説明したいと思います。先日Laboの電気工事のため停電があり、WS(ワークステーション)を停めなくてはいけませんでした。
本日復旧作業をしていたのですが、ディスクアレイに繋がっているWSがうまく起動しません。また、ディスクアレイの表示画面にもROM ERROR と出ています。これは何が悪いのでしょうか?GW中なので、業者にも連絡がつかず八方塞がりな状態です。よろしくお願いします。

以下に詳しいlogの内容を記載しておきます。

(WS<COMPAQ XP1000>のlog)

Checking local filesystems
/sbin/ufs_fsck -p
Can't open /dev/rrz8g : No such device or address
/dev/rrz8g : CAN'T CHECK FILE SYSTEM
Can't open /dev/rrz8h : No such device or address
/dev/rrz8h : CAN'T CHECK FILE SYSTEM

THE FOLLOWING FILE SYSTEMS HAD AN UNEXPECTED INCONSYSTENCY
  /dev/rrz8g(/raid) /dev/rrz8h(raid2)

Unknown error in reboot


(ディスクアレイ<proware 型番不明>の表示パネルに出てくるMessage)

ROM ERROR
19200,8,1,N

No. 3214 # 68user 2003/05/04 (日) 13:15:32
>>3213 伊藤@管理初心者
ディスクアレイの表示画面に ROM ERROR と出ているなら、ディスク
アレイの故障した可能性が限りなく高いと。そっちは業者にまかせる
として、あとはそのディスクアレイなしで OS がブートするかどうか
です (ディスクアレイ中のデータを読み出すことが目的なら、あきら
めて業者を待ちましょう)。

シングルユーザモードで起動して、/etc/vfstab あたりを修正して、
/dev/rrz8* をマウントしないようにするのが UNIX における一般的な
対処です。

ただ、おそらく OS は Tru64 あたりではないかと推測しますが、
さわったことがないので具体的な対処方法はわかりません。

No. 3215 # 伊藤@管理初心者 2003/05/04 (日) 18:48:20
>>3214 68user
お返事ありがとうございます。
やはり、ディスクアレイは故障の可能性が高いと…。
68userさんのおっしゃる通り、ディスクアレイ中のデータを読み出すことが目的だったんですが・・・、わかりました。
いろいろと御助言ありがとうございました。

No. 3216 # 68user 2003/05/05 (月) 21:38:54
memo
http://www.coins.tsukuba.ac.jp/~yas/classes/dsys-2002/2003-03-04/index.html
http://www-6.ibm.com/jp/developerworks/security/011005/j_s-stun.html

No. 3217 # 匿名 [URL] 2003/05/07 (水) 01:21:53
「ソースを表示してみよう」の結果が
次のように表示されてしまいます。

1: : Content-type: text/html(LF)
2: : (LF)
3: : <html><body bgcolor=white>(LF)
4: : </body></html>(LF)

No. 3218 # 68user 2003/05/07 (水) 09:17:19
>>3217 匿名
ご報告ありがとうございます。ウチに帰ったら対処します。

No. 3219 # DLT8000user 2003/05/07 (水) 19:05:38
テープメディア(DLTtapeIV)についての質問です。

DLTtapeIVに退避させた、圧縮後のデータの容量を調べる方法がわからず大変困っています。
テープ内の圧縮後データ容量を確認するコマンド、方法があれば教えて下さい。
なにとぞ、なにとぞ宜しくお願い致します。

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

No. 3220 # 匿名 [E-mail] 2003/05/08 (木) 15:20:52
クライアントよりフォルダを指定して、その配下全てのファイルをサーバにアップロードすることはservletで可能でしょうか?
また、そのフォルダに指定したアクセス権限を付与することは可能でしょうか?

No. 3221 # 68user 2003/05/08 (木) 19:06:12
>>3219 DLT8000user
あんまり詳しくないんですが、tar で保存していれば tar tvf
…とかいう話でしょうか? cpio は知りません。

じゃなくて、圧縮率の話?

>>3220 匿名
servlet でというか、HTML 的にはフォルダまるごとのアップロードは
無理だと思います。やるなら Java Applet とか DirectX とかいう
話になるかと。

アクセス権限については環境依存なので、java.lang.Runtime#exec()
で設定でしょうか。

No. 3222 # 68user 2003/05/14 (水) 20:48:36
>>3218 68user
> ウチに帰ったら対処します。
と言いつつ忘れていました。そしてここ数日、このサーバが
落ちていたので、まだ対処できていません。今週末にはなんとか…。

No. 3223 # int 2003/05/17 (土) 18:40:47
ネットワークプログラミングの基礎のところで、
select や fork を「マルチスレッド」と書かれているようですが、
少し違うのではないでしょうか?
新しいスレッドが生成されず、見ため同時に動いていることを
マルチスレッドとは言わないと思います。

No. 3224 # 68user 2003/05/18 (日) 02:25:58
>>3024 テクノソルジャー
いまさらですが http-proxy.pl のメモリリークを修正しました。
ご指摘ありがとうございました。

http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/http-proxy.pl

>>3217 匿名
> 「ソースを表示してみよう」の結果が次のように表示されてしまいます。
修正しました。ご指摘ありがとうございました。

>>3223 int
> 見ため同時に動いていることをマルチスレッドとは言わないと思います。
「見ため同時に動いていること」を「マルチスレッド」と表記している
本があったのでそれを真似しているんですが、やっぱり変でしょうか
(と言ってもその本が見付けられないので、勘違いかも)。

とはいえ、pthread などの「スレッド」と混同しやすいのは確かです。
より適切なの用語は「多重化」でしょうが、個人的にはわかりにくい
と感じます (だからあえて「スレッド」としてみた)。

何かよい用語はないでしょうか。

No. 3225 # ちゃお 2003/05/18 (日) 03:39:04
初めまして。
突然ですがおききしたいことがあります。
貴HP内にてsocketを使ったHTTPクライアントを作るプログラムを拝見させていただき、独立した環境で同じように組んで実行しましたがホストが存在しないとかえってきました。
これは至極当然なので、$iaddr(指定アドレス)に自分自身(127.0.0.1)を指定して実行しました。

ちなみにANHTTPDが動いています。
perl5でライブラリ上でもsocketは確認しています。

結果はエラーコード500を返すだけでなにも起こりませんでした。
アクセスログもやはりエラーコードは500でした。

自分自身へ試してみて異常がないことを確認できなければ外部に向かって使用するのにはかなり抵抗があったため試してみたことでした。
socketを使っての自分自身へのアクセスはできないのでしょうか?

お暇なときでよろしいですのでお返事よろしくおねがいいたします。

No. 3226 # Netboy 2003/05/18 (日) 11:01:45
>何かよい用語はないでしょうか。

プロセス制御,プロセスの多重化,プロセスの生成と複写,
マルチプロセス,同時実行プロセス

等は如何でしょう.

No. 3227 # 68user 2003/05/19 (月) 04:34:26
>>3225 ちゃお
> 結果はエラーコード500を返すだけでなにも起こりませんでした。
> アクセスログもやはりエラーコードは500でした。
ということは TCP/IP 的には正常に通信できているが、HTTP リクエスト
で送信している内容がよくない、という状況と考えます。

あとは
    - 実行したのが http-client.pl なのか、http-client-2.pl なのか。
    - http-client-2.pl であれば、URL に何と入力したのか。
        その URL をブラウザで見ると正しく表示されるのか。
    - そもそも telnet で成功したのか。その場合は何とタイプしたのか。
と情報がないと何とも言えません。

>>3226 Netboy
apache 起動の件、ありがとうございました。

> プロセス制御,プロセスの多重化,プロセスの生成と複写,
> マルチプロセス,同時実行プロセス
いえ、どういう手法で多重化しているか (プロセス/スレッド/select) は
別として、「見ため同時に動いていること」を何と表記すればよいかが
よくわからないのです。

No. 3228 # ちゃお 2003/05/19 (月) 18:25:34
>>3227 68user
お返事ありがとうございます。
そして言葉足らず失礼いたしました。

>実行したのが http-client.pl なのか、http-client-2.pl なのか
実行したプログラムはhttp-client.plのほうです。

>telnet で成功したのか
telnetでは127.0.0.1にポート80で接続できました。
でもそのあとのheloコマンドでは501を返してきました。

またメインマシンがwinMEなので最初の接続(open)はDOSプロンプトからできません。

>URL をブラウザで見ると正しく表示されるのか
ブラウザではエラー500を返してきます。

またURLには127.0.0.1/root/http_client.cgiとしています。
拡張子はcgiにしています。

よろしくおねがいします。

No. 3229 # ちゃお 2003/05/19 (月) 18:30:28
連続ですいません。
さっきかきこんだあとおもうところがあって拡張子plで試してみました。
plは設定(http.conf)に登録していないのでいつも使っていませんでした。
もちろん今回も実行したあとはブラウザには表示されませんでした。

しかし、アクセスログには200が残っていました。

これって成功したということでいいのでしょうか?

No. 3230 # 68user 2003/05/20 (火) 22:16:24
>>3228 ちゃお
> でもそのあとのheloコマンドでは501を返してきました。
わたしの知る限り HELO と言えば SMTP です。そして
ポート 80 の先にいるのは HTTP サーバです。HTTP サーバは
SMTP を解さないので、エラーになるでしょう。

http-client.pl というのは、要はブラウザの代わりをする
プログラムなのですが、その辺は理解されていますか?

> またURLには127.0.0.1/root/http_client.cgiとしています。
あなたがブラウザで普通に見られるような URL を試しましょう。
      http://127.0.0.1/
で何かコンテンツが表示されるなら、まずそれで試すべきです。

とりあえず
    http://x68000.startshop.co.jp/~68user/net/http-1.html
を読んで、実際に試してみてください。

No. 3231 # じゅじゅ [E-mail] 2003/05/21 (水) 19:28:46
c言語でFTPクライアントのプログラムを組んでいます。
プロトコルやソースは大変参考にさせていただいています。

環境は、TurboLinux 8 serverです。

FTPクライアントのプログラムなのですが、ファイルの転送などは問題なく動作しているのですが、ディレクトリ単位の転送の記述部分がわかりません。何度かコマンドのデバッグモードで試して、RFCなどの記述も呼んでいるのですが。参考になるページがあるのでしたら、教えてください。
また、ファイルかディレクトリかを区別する方法もあればと思い、ご教授よろしくお願いいたします。

No. 3232 # 68user 2003/05/21 (水) 23:01:09
>>3231 じゅじゅ
> ディレクトリ単位の転送
おそらく、ディレクトリを LIST or NLST して、一つ一つ RETR する
しかないです。

> ファイルかディレクトリかを区別する方法
ブラウザで anonymous ftp サイトに接続した場合などは、LIST の結果が
drwxr-xr-x ならディレクトリ、とするのが一般的だと思います。もっと
きっちりやるなら、CWD で移動できたらディレクトリとみなす、とか。

基本的に、ftp は UNIX に依存したくなかったため、この辺はあえて
決めてないのではないかと思っています。

もしディレクトリを判別できるようにするなら、名前付きパイプは?
ソケットは? デバイスファイルは? door は? ということになり、
結局 ls の結果をそのまま送る方がよい、と判断されたのではない
でしょうか (そしてわたしは、この判断は誤りであると思っています)。

No. 3233 # じゅじゅ [E-mail] 2003/05/22 (木) 15:28:39
簡単なことかもしれませんが、LISTやNLSTをし、続けてファイルの総数やディレクトリの中にあるファイル名を取得することはできるのでしょうか?それらのデータを取得する記述と、また、
>drwxr-xr-x ならディレクトリを取得する
記述が分かりません。
ご教授よろしくお願いいたします。

No. 3234 # 68user 2003/05/23 (金) 02:21:11
>>3233 じゅじゅ
LIST すれば
    drwxr-xr-x 9 user group 512 Apr 28 2001 dir1
    drwxr-xr-x 10 user group 512 Jul 30 2000 dir2
    -rw-r--r-- 1 user group 122 Mar 29 2000 file
などという結果が返ってくるので、行頭が d である
dir1 と dir2 がディレクトリであることがわかります。

さらに LIST dir1 とすれば dir1 の下のファイル・
ディレクトリ一覧が返ってきます。

No. 3235 # ちゃお 2003/05/24 (土) 04:43:48
>>3230 68user
前回はちんぷんかんぷんな質問失礼いたしました。
現状ちゃおのマシンにはapacheがインストールされています。
そしてrootにはhtdocsが指定されています。
さらにhtdocsの中にindex.htmlがあります。

まずはtelnetからやりなおしてみました。
コマンドプロンプトから以下のように入力しました。

telnet 127.0.0.1 80
接続成功
GET /index.html HTTP/1.1
HOST:127.0.0.1
Content-type:text/html

ソース取得成功してます。

次にコマンドプロンプトからperlを実行します。
(もちろんperlのあるディレクトリには移動済みで、他のHTMLソースを吐き出させることにも成功しています)

c:\>perl http_client.pl

このときはなにも表示されません。
しかしコードは200を返します。

このときの結果は同じものではないのですか?

>http-client.pl というのは、要はブラウザの代わりをする
プログラムなのですが、その辺は理解されていますか?

つまり$iaddrで指定したアドレスにあるソースを受け取って表示する、
dos上で実行したらbody部分がそのままdosプロンプトに表示されるということでいいんですよね???
それともこのプログラムにさらに引数を与えなければいけないのでしょうか?

長文になってしまい失礼いたしました。
またお時間のあるときにお返事いただければ幸いです。

No. 3236 # かんすけ [E-mail] 2003/05/24 (土) 23:49:04
Makefileでのライブラリの定義について

はじめまして。solaris初心者のかんすけです。
環境はsparc-solaris8です。
Makefileを作成してみたのですが、自分で作成したライブラリファイルをCCのところでうまく定義できません。実行すると「ファイルが見つかりません」とエラーが表示されます。
この場合、まず何を疑えば良いのでしょうか?
正しいMakefileでのライブラリの定義の仕方を教えてください。
また良いサンプルファイルのURL等ありましたら、紹介してください。
よろしくお願いします。

No. 3237 # ちゃお 2003/05/27 (火) 01:28:02
今までの数々の質問大変失礼いたしました。
色々いじっているうちに何故か成功いたしました。
今までありがとうございました。
これからもがんばってください。

No. 3238 # 68user 2003/05/30 (金) 00:19:49
>>3236 かんすけ
デフォルトルールや特殊変数などを全く活用してませんが、

      main: main.o hoge.a
                $(CC) -o $@ $>
      hoge.a: hoge.a(a.o) hoge.a(b.o)
                $(AR) ru $@ $>

とりあえずこんな感じで実現することは可能です。

No. 3239 # 68user 2003/05/30 (金) 04:40:51
OpenSSL による https クライアントをちょっとだけ
バージョンアップしました (解説は更新なし)。
    http://x68000.startshop.co.jp/~68user/net/ssl.html

変更点はこちら。
    http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/sample/https-client.c

しかし SSL は未だによくわからん…。

No. 3240 # 68user 2003/05/31 (土) 21:05:20
苦節 3日。やっと rootCA を組み込む方法がわかった。
忘れないうちにメモメモ。
        ctx = SSL_CTX_new(ssl_method());
        SSL_CTX_load_verify_locations(ctx, "mod_ssl-2.8.9-1.3.26/pkg.sslcfg/ca-bundle.crt", NULL);

No. 3241 # ひろ 2003/06/05 (木) 19:56:39
皆様こんにちは。

僕はサーバースペースを借りてHPを作ってます。

いきなりの質問で失礼と存じますが…

asciiart.cgiの設置方法を教えていただけないでしょうか?

一応、↑検索をかけてみたのですが見当たりませんでした。

                                    パーミッション
asciiart.cgi    755
environment.pl   644(試しに755)

…だけではダメなのでしょうか?

ヨロシクお願いします。

No. 3242 # 68user 2003/06/05 (木) 23:52:06
>>3241 ひろ
> asciiart.cgiの設置方法を教えていただけないでしょうか?
      http://x68000.startshop.co.jp/~68user/unix/pickup?netpbm
に含まれている giftopnm、ppmtopgm などのコマンド群と、
HTTP クライアントである httptalker.pl が必要です。

netpbm はフリーで配布されています。httptalker.pl はわたしが
作ったものですが、wget や fetch などのフリーなダウンローダで
代用可能です。

申し訳ありませんが、解説しはじめると長くなるので、これ以上の
詳細な解説はご勘弁ください。

関係ないですけど、テーブルアートというのがあります。こっちの方が
表現力が高いので、おもしろいかも。
      http://hi.sakura.ne.jp/~okada/table/

No. 3243 # ひろ 2003/06/08 (日) 13:48:14
返答ありがとうございました。

難しいので諦めます。。

asciiart.cgiを設置されてるサイトって有るんですかね?(謎)

因みにasciiart.cgi検索かけても見つかりませんでした。(笑)

No. 3244 # 68user 2003/06/09 (月) 06:08:14
>>3243 ひろ
> asciiart.cgiを設置されてるサイトって有るんですかね?(謎)
ないと思います。うちの CGI プログラム群は、配付しているのではなく
ただ単にソースを公開しているだけなので、わたし以外の人にとっては
設置しづらいでしょう。

No. 3245 # bebe 2003/06/10 (火) 18:36:12
「ls」を入力すると、カレントディレクトリのファイルやディレクトリが表示されますが、ファイルは表示させずにディレクトリだけを表示させることは出来ますか?
ls -d でやってみてもダメでした。

No. 3246 # 68user 2003/06/10 (火) 19:53:53
>>3245 bebe
-d は引数にディレクトリを指定した場合、そのディレクトリの
下でなく、ディレクトリそのものの情報を表示するオプションです。
というわけで、
    % ls | grep ^d
    % find . -type d -maxdepth 1
    % find . -type d -maxdepth 1 -ls
などなど。

No. 3247 # 68user 2003/06/10 (火) 20:04:29
>>3246 68user
> ls | grep ^d
ls -l | grep ^d の間違いでした。

No. 3248 # 68user 2003/06/14 (土) 22:03:14
ネットワークプログラミングの基礎知識
      http://x68000.startshop.co.jp/~68user/net/
に、
      暗号化のお話 (1) - 共通鍵暗号方式
            http://x68000.startshop.co.jp/~68user/net/crypt-1.html
      SSL/TLS でアクセスしてみよう (1) (2)
            http://x68000.startshop.co.jp/~68user/net/ssl-1.html
            http://x68000.startshop.co.jp/~68user/net/ssl-2.html
を追加しました。説明が中途半端ですが、ご容赦を。

cvsweb はこちら
    http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/?sortby=date

No. 3249 # のぐけん。 2003/06/16 (月) 17:54:10
はじめまして。
ここのページでかなり勉強させてもらっています。
いつの間にかDSNクライアント作成講座もできてるみたい
なので、時間があったら読ませてもらいます。

ところで、DNSを使ってみよう でsend関数がでてきましたが、
あれはTCPでは使えないのでしょうか?
UDPはコネクションレス型で、TCPはコネクション型なのは解ってますが・・・。
もし使える方法があれば教えてください。

No. 3250 # terapad 2003/06/17 (火) 11:14:15
はじめまして、terapadと申します。

いくつかのプログラムからarコマンドを用いて、ライブラリを作成するのですが、
スタティックリンク版とダイナミックリンク版を作成したいのです。

ar -r test.a aaa.o bbb.o ccc.o

現在、上記のようなコマンドを用いているのですが、
これはスタティックリンクになるのでしょうか?
ダイナミックリンク版を作成するためには、
arコマンドに何かオプションが必要なのでしょうか?

何も分からず恐縮ですが、ご教授お願いします。

No. 3251 # 68user 2003/06/17 (火) 12:52:12
>>3249 のぐけん。
> ところで、DNSを使ってみよう でsend関数がでてきましたが、
> あれはTCPでは使えないのでしょうか?
        send(SOCKET, $data, 0);
で使えます。

>>3250 terapad
> これはスタティックリンクになるのでしょうか?
そうです。

> ダイナミックリンク版を作成するためには、
こちらをどうぞ。
      http://www.jp.FreeBSD.org/QandA/HTML/401.html

No. 3252 # のぐけん。 2003/06/17 (火) 17:59:41
すいません。
send(SOCKET, $data, 0);
の形は、すでにSOCKETがつながっている時ですよね?
send(SOCK, MSG, 0, TO);
の形では無理でしょうか?

No. 3253 # terapad 2003/06/17 (火) 18:24:26
お返事ありがとうございます。

早速、サンプルプログラムを用意してやってみたところ
cc -fpic -o libshared.SO -c shared.c
は正常に終了しlibshared.SOが作成されました。

次の
cc -shared -Wl, -soname, libshared.so.1 -o libshared.so.1 libshared.SO
のところでは下記のようなエラーが出ます。
cc: 1501-218 file libshared.so.1 contains an incorrect file suffix
cc: 1501-228 input file libshared.so.1 not found
cc: 1501-218 file libshared.SO contains an incorrect file suffix

どのように回避したら良いでしょうか?

No. 3254 # terapad 2003/06/17 (火) 18:36:13
すみません。もう一度コマンドコピーして実行してみたところ、
cc -shared -Wl,-soname,libshared.so.1 -o libshared.so.1 libshared.so
ld: 0706-012 -h フラグが認識できません。
ld: 0706-012 -a フラグが認識できません。
ld: 0706-005 ファイルが見つからないか、オープンできません: libshared.so.1
                ld:open(): このパス名にはファイルまたはディレクトリが存在しません。

このようなメッセージに変わりました。
でも、わかりませんが・・・。

No. 3255 # 68user 2003/06/17 (火) 20:35:29
>>3252 のぐけん。
> send(SOCK, MSG, 0, TO);
> の形では無理でしょうか?
は TCP では無理だと思います。connect しないと 3way
handshake してくれないです。

ちなみに、ご存知かもしれませんが、UDP では
      - socket && connect && send(SOCKET, $data, 0);
      - socket && send(SOCKET, $data, TO);
のいずれも可能です。

>>3254 terapad
      http://www.jp.FreeBSD.org/QandA/HTML/401.html
gcc を使っている場合のやり方です。gcc を使わない
のであれば、お使いの cc のマニュアルを読みましょう。

No. 3256 # 68user 2003/06/18 (水) 00:29:50
UNIX の部屋
      http://x68000.startshop.co.jp/~68user/unix/
を更新しました。

No. 3257 # 68user 2003/06/18 (水) 00:42:07
とってもいまさらですが、
      IPアドレスとホスト名
            http://x68000.startshop.co.jp/~68user/net/net-1.html

      http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=2098
で指摘をいただいた旨追記しました。

No. 3258 # 68user 2003/06/18 (水) 00:51:37
第2回 UNIX の部屋の検索で一件もヒットしなかった
キーワード調査。対象は 2003年1月〜現時点の半年分。

# 第1回: http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=2093-2099

% grep pickup */access.log | grep Nomatch | awk '{print $3}' | sort | uniq -c | sort -nr
1165 useradd
  670 sar
  526 ls
  466 expr
  435 ssh
  426 scp
  320 ftp
  311 cp
  289 Emacs+Lisp+プログラミング入門
  287 Perl/Tk+デスクトップリファレンス
  284 snoop
  257 ln
  256 ユーザー
  232 cpio
  223 ufsdump
  223 rename
  206 rsync
  192 groupadd
  190 iostat
  187 logger
  186 arp
  181 mailx
  179 ipcs
  177 iconv
  168 usradd
  167 rm
  165 usermod
  164 ファイル検索
  147 pkginfo
  142 df
  142 ndd
  141 ps
  138 fdisk
  132 ipconfig
  132 chkconfig
  127 tree
  126 remsh
  125 substr
  125 nawk
  114 jar
  113 dbx
  112 ulimit
  103 userdel
  100 htpasswd
    94 mv
    92 tr
    85 バックアップ
    85 showrev
    85 ioscan
    85 chroot
    84 pkgrm
    84 pdf
    82 mpstat
    79 patchadd
    79 mknod
    75 mkfs
    74 リダイレクション
    73 ufsrestore
    70 lpq
    69 sdiff
    69 prstat
    68 wc
    67 mtime
    66 nmap
    64 スペック
    63 addgroup
    61 pkill
    60 unmount
    59 配列
    59 パーティション
    59 sh
    59 rcp
    58 演算
    58 vim
    58 lpstat
    56 ファイル名変更
    56 ファイル 作成
    56 cc
    56 prtconf
    56 gip
    56 addusr
    55 戻り値
    55 ファイル 検索
    55 sjtoeuc
    55 sftp
    55 access
    53 strcpy
    53 restore
    52 空き容量
    52 typeset
    52 swlist
    52 mkfile
    52 backup
    51 snmp
    51 samba
    50 sqlplus
    49 ファイル名 変更
    49 zgip
    49 ntpq
    49 euctosj
    49 bashrc

結論。調査してもそれを反映しないと意味がない。

というわけで、全角英数字でも検索できるようにしました。

No. 3259 # -9 [E-mail] 2003/06/19 (木) 14:29:04
UNIXの部屋拝見させてもらいました。
すごい詳しくて良かったです。ありがとうございました。
これからも使わせて頂きます。

No. 3260 # bubu [E-mail] 2003/06/19 (木) 22:09:11
はじめまして。私、MADAGASCARという国の地方都市にすんでおります。私の住んでる町に数年前にISPができました。サーバーの管理は直接しておりませんがLAN内でプログラムを作る事を考えています。サーバー以外は、基本的にWINDOWS系です。ヒントいただければ幸いです。

1つのプログラムは、LAN内でサイバーカフェを運営しておりますが、クライアント端末である特定のプログラムを起動させたときにカウントをしようというものですがこれは何とかなりそうです。
こちらが私にとっては難しいのですが2つ目は、サーバーにダイアルアップでログインしてくるユーザー情報を集計しそのデーターを別のところに送信させたいと思います。

サーバー:MANDRAKE 8.1(WWW、MAIL、DNS稼動)
ルーター:CISCO ???

横山

No. 3261 # 68user 2003/06/21 (土) 01:40:05
>>3259 -9
ありがとうございます。間違いやわかりにくい点を見付けたら
ぜひご指摘ください。

>>3260 bubu
> サーバーにダイアルアップでログインしてくるユーザー情報を
> 集計しそのデーターを別のところに送信させたいと思います。
ここらへんほとんど知らないんですが一応回答してみます。

ダイアルアップを受けるサーバ (RAS サーバって言うんでしょうか?)
は Mandarake ですか? それとも CISCO の機器ですか?

前者であれば mgetty や pppd (ppxp?) あたりが /var/log あたりに
ログを残しているかもしれません。また、通常のログインと同じく
utmp や wtmp あたりに記録されるはずなので、who などで集計する
ことができるはずだと思います。

後者であれば、わかりません。マニュアルを読んでください。

もし RAS サーバを管理する立場にないのであれば、集計する
のは無理でしょう。

No. 3262 # bubu [E-mail] 2003/06/21 (土) 02:19:56
回答ありがとうござました。
ダイアルアップを受けるサーバはMandarakeです。RADIUSというソフト(サーバー?)が起動していて/var/log にlogが記録されます。
情報を探してみましたが、SQLなどを介し、上記のlogファイルを利用してデータベースを作成できる事は分かりましたが、Client MachineからサーバーMachineへアクセスし、データを取ってくるその手法がいまだによく分かりません。お手数とは思いますがご教授していただければ幸いです。
サーバーの第一管理者はリモートで管理をしており、私は第2管理者に非常に近いところにおります。

No. 3263 # 68user 2003/06/23 (月) 19:50:28
>>3262 bubu
> Client MachineからサーバーMachineへアクセスし、データを取って
> くるその手法がいまだによく分かりません。
あとは定期的にファイル転送ができればよいのですか? もし
そうなら、ftp で転送するのが一番簡単だと思います。

Windows 付属の ftp.exe やフリーの ftp クライアントを使用
してみてはどうでしょうか。

No. 3264 # あやの 2003/06/26 (木) 01:25:53
ここで相談すべきことじゃないのかもしれませんが、困っています。

PDFを見るためのソフトについて、UNIXにはxpdfなどの軽いツールがあるのに、
WindowsにはAcrobatReaderしかないようなのですが、Windowsにも
他にPDFを見るためのツールはあるのでしょうか?

よろしくおねがいいたします。。

No. 3265 # 68user 2003/06/26 (木) 23:52:58
>>3264 あやの
xpdf の Windows 版はありますが、GUI を持たない変換ツール類しか
提供されていないようですね。
      http://www.foolabs.com/xpdf/download.html

http://www.namazu.org/ml/namazu-win32-users-ja/msg01025.html
を読むと、昔は cygwin 版も上記ページに置かれていたように見えますが、
今は置いてありません。自分でコンパイルして、果して動くのかどうか…。

No. 3266 # UNIX 2003/06/27 (金) 17:35:43
AIXのdateコマンドでは「'1 days ago'」のような機能がありません。
どのように1日前の日付を出力すれば良いんでしょうか?
date -v-1dってできるんですかね?

No. 3267 # 68user 2003/06/27 (金) 17:46:50
>>3266 UNIX
> date -v-1dってできるんですかね?
試してみればいいんじゃないでしょうか。

他には TZ を使うやり方を
      http://x68000.startshop.co.jp/~68user/unix/pickup?date
に書きましたが、AIX の date(1) が期待通り動いてくれるかどうかはわかりません。

No. 3268 # ma-chan 2003/06/28 (土) 16:01:42
C言語でsocketを用いたftpクライアント(Asciiモード)を作成し、solaris上で実行したところ、ftpからのリターンメッセージ、およびgetしたファイルの改行コードに『CR』が付加されてしまい、とても困っております。
これは、どのような要因が考えられますでしょうか?
よろしくお願いします。

No. 3269 # 68user 2003/06/28 (土) 16:55:42
>>3268 ma-chan
ASCII モードは LF を CRLF に置換するわけで、「CR が付加される」
というのは納得できる結果だと思います。というわけで、何に困って
おられるのかよくわかりません。

No. 3270 # ma-chan 2003/06/28 (土) 17:57:43
説明が足りなくて申し訳ありません。
改めまして詳細を説明させて頂きます。

テスト環境は、Solarisサーバー2台で、
片方のサーバー上に作成したPGMを置いて、テキストファイルの
送受信を行っています。
扱うテキストファイルは、Solaris上で作成したファイルで、
改行コードは、『LF』のみです。
で、PGM内からASCIIモードでファイルをPUTする分には、
問題ないのですが、
ファイルをGETすると、改行コードに『CR』が付いてしまうという
現象が発生しております。
(ちなみに、コマンドレベルでftpをASCIIモードで実行した場合は、
『CR』は付きませんでした。)

私の認識では、UNIXサーバー側でファイルをGETする場合は、
改行コードに『CR』は付かないと思うのですが...
(Windows環境でプログラムを動かしてファイルを受信した場合は、
    『CR』が付くと思っています。)
この認識自体が間違っていますか?

よろしくお願いします。

No. 3271 # 68user 2003/06/28 (土) 18:29:31
>>3270 ma-chan
理解しました。

ASCII モードというものをより正確に書くと、

          あなたがデータを送信するときは、事前に NVT-ASCII に変換
          しておいてね

とクライアントとサーバが約束すること、です。そして NVT-ASCII に
おける改行は CRLF です。

なので、TYPE A で CRLF が送られてくるのは正しいわけで、CRLF を
LF に変換するのはクライアント側の仕事なのです。

NVT-ASCII については (読んでませんが) 多分 RFC 854 に書いて
あるんじゃないかと思います。

No. 3272 # keijirou 2003/06/30 (月) 14:02:10
はじめまして。いつも参考にさせて頂いてます。

<環境>
マシン:UNIX B2000(OKITAK9000)
OS:HPーUX Ver.11.0
端末:dtterm
言語:C

上記の環境で、wgetch関数(nodelayモード)を使って、キー入力を受け取る
プログラムを作成しているのですが、2つほど質問させてください。

1.キーボードからの入力をロックする方法。
    キーを入力してもwgetchがコードを返却しないようにしたい。

2.ある特定のキーについて,wgetchが返却するコードを変更する方法。
    たとえば,Insキーが押下されたら0x12を返却するようにしたい。

既出でしたら、申し訳ありません。
よろしくお願い致します。

No. 3273 # Been 2003/07/03 (木) 20:29:40
場違いかも知れませんが藁をも掴むつもりで投稿しました。
FreeBSD4.7にてSSHでPg.pmをインストールしようとしています。
SHELLはtcshなのですが、以下の方法でインストールは可能でしょうか?

cd src
tar zxvf pgsql_perl5-1.9.0.tar.gz
cd pgsql_perl5-1.9.0
setenv POSTGRES_INCLUDE "/usr/local/pgsql/include"
setenv POSTGRES_LIB "/usr/local/pgsql/lib"
perl Makefile.PL
make
make test
root # make install

何かヒントでもいいのでよろしくお願いいたします。

No. 3274 # 68user 2003/07/04 (金) 14:20:25
>>3272 keijirou
curces に詳しくないので回答しなかったのですが、誰か知ってる人
いませんかねぇ。

>>3273 Been
> 以下の方法でインストールは可能でしょうか?
よさそうに見えますが、とりあえず make test、make -n install まで
試してみればいいんじゃないでしょうか。

てゆーか、一般的には DBI と DBD::Pg モジュールを使うことが
多いと思いますが、あえて Pg なのですか?

2000年で更新止まってるし、RDBS 取り換えたら書き直しだし、あまり
いいことはないと思います。

No. 3275 # kotaro 2003/07/05 (土) 12:02:52
はじめまして。kotaroと申します。
さっそくですが、質問をさせていただいてよろしいでしょうか。

C言語において、IPアドレスのみで通信を行うプログラムの作成は可能でしょうか。
socket関数を用いた場合は、
TCPやUDPのトランスポート層の通信になると思いますが、
トランスポート層のプロトコルを解釈せずにIPヘッダーのみで通信を行う、
ルーティングのような機能を実現したいと思っています。
(ネットワークカードは2枚使用し、IPパケットを通過させる仕組み)

突然の質問で申し訳ありませんがよろしくお願いします。

No. 3276 # 68user 2003/07/05 (土) 13:13:21
>>3275 kotaro
> IPアドレスのみで通信を行う
IP (インターネットプロトコル) のみで通信を行う、という
ことでしょうか。

UNIX なら可能です。Windows なら XP からですね。「raw socket」
などで検索してみてください。

No. 3277 # kotaro 2003/07/06 (日) 21:44:53
ありがとうございます。

socket関数にrawIPを使う機能がありました。
この機能を使えば、raw(生)のIPデータグラムを扱えるので
IPヘッダ以外にもTCPやUDPヘッダも自由に付けることができそうです。

No. 3278 # keijirou 2003/07/07 (月) 10:20:46
No3272 で質問させて頂いた者です。同環境でもう1つ質問させてください。
printfで画面出力した文字を、カーソルを文字の先頭に移動させて、再度取得する方法は?
カーソルの移動はエスケープシーケンスで行っています。
cursesを利用すれば表示した文字を再度取得することは可能なのですが、エスケープシーケンスを標準出力する方法が判らないのでしかたなくprintfを使っているという状況です。
cursesでエスケープシーケンスを標準出力できればよいのですが。。。

printfの文字取得、もしくはcursesでのエスケープシーケンスの標準出力、
について情報お持ちの方、回答よろしくお願いします。

No. 3279 # 68user 2003/07/07 (月) 16:12:08
>>3278 keijirou
> printfで画面出力した文字を、カーソルを文字の先頭に移動させて、
> 再度取得する方法は?
原理的に無理でしょう。自分で出力した文字を覚えておくくらいしか
ない (≒curses の再実装) と思います。

> カーソルを文字の先頭に移動させて
これを curses で行えばよいだけのように見えますが、curses では
ダメな理由があったりしますか?

No. 3280 # keijirou 2003/07/07 (月) 18:28:22
>>3279 68user
早速の回答ありがとうございます。
printfの文字を再度取得することは無理なんですね。
実際にprintfで出力した文字の先頭に、cursesで移動して、文字取得を行ったところ、何も取得できませんでした。
おそらく、cursesが持っているバッファからデータを持って来るようなので、printfの文字は取得されないものと思われます。

扱うデータがエスケープシーケンス入りのデータなので、printfがそのまま使えれば、解析せずに済むかと思い、質問させて頂きました。
また、画面に表示した文字のハードコピーを印刷するのにprintfの文字を再取得しようと考えてました。

もし、なにかよい方法がありましたら、またよろしくお願い致します。

No. 3281 # 68user 2003/07/09 (水) 21:49:39
>>3280 keijirou
> printfの文字を再度取得することは無理なんですね。
そうですね。stdio ライブラリは出力した文字を覚えていませんし、
kterm などの端末エミュレータも受け取った文字を覚えていません
ので。

# もし端末エミュレータが覚えていたとしても、アプリが
# 端末エミュレータに文字を問い合わせるような仕組みがない。

> 扱うデータがエスケープシーケンス入りのデータなので
もし curses がそのようなデータを扱えるとしたら、
      1. curses が出力するデータの中身を解析し、エスケープシーケンス取得。
      2. 環境変数 TERM を見て、エスケープシーケンスがその端末でどのような
            挙動をするのかを調べる。
      3. エスケープシーケンスを出力する代わりに、curses のライブラリを叩く。
という機能を持ってないといけないでしょうが、多分そのような
機能はないと思います。

データがエスケープシーケンス入りと言っても、ごく限られた
数種類程度のエスケープシーケンスではないですか?

もしそうであれば、自前でデータを解析し、エスケープシーケンスを
出力する代わりに curses のライブラリ関数を呼ぶ、ってのが簡単
そうな気がします。

No. 3282 # ゆう 2003/07/10 (木) 12:04:13
muleで韓国語を入力したまではよかったのですが・・・
印刷しようとすると化けてしまいます。
コマンドを教えてください。

p.s 「any2ps hangul.tex | lpr -Pstd1pr1」を試してみましたが、
            結果は、m2ps: Invalid argument: hangul.tex でした・・・。

No. 3283 # keijirou 2003/07/10 (木) 14:49:26
>>3281 68user
回答ありがとうございます。
やはり、自前でエスケープシーケンスを判断しなければいけないようですね。
その方向で開発をすすめてみます。
いろいろとありがとうございました。

No. 3284 # 68user 2003/07/10 (木) 18:27:42
>>3282 ゆう
韓国語関連は全く知りませんが、引数ではなく標準入力から
渡さないといけなんじゃないですかね?
      http://www.tk.airnet.ne.jp/nagae/jp/comp/mule/any2ps.html

No. 3285 # umio 2003/07/14 (月) 02:26:42
私はネットワークについて初心者で、検索ページからこのサイトを拝見しました。噛み砕いた説明のおかげで理解しやすくとても参考になり、本当に感謝しています。ありがとうございます。

No. 3286 # ゆみ 2003/07/16 (水) 10:31:25
シェルの環境変数で宣言している物が,未定義変数だといわれ止ってしまいます。エラーが出ない場合のほうが多いのですが,さっきまで回っていたものが、未定義だと言われてとまってしまい,困っています。
なにか、アドバイスいただければ幸いです。

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