BシェルからPerlを呼び出し実行しています。 Bシェルの変数の値をPerlに引き継がせることはできるのでしょうか。 以下でいうと、nに、”100”を設定しています。 そのnの値である、”100”を渡したいのですが。 -------------------- #!/bin/sh n=100 a=`perl -MPOSIX -e 'print strftime("%Y%m%d", localtime(time-(24*60*60*$n)))."\n"'` echo $a |
>>4715 こう 変数が展開されないのはシングルクォーテーションの中にあるせいなので $n だけ出してあげましょう。 ------ #!/bin/sh n=100 a=`perl -MPOSIX -e 'print strftime("%Y%m%d", localtime(time-(24*60*60*'$n')))."\n"'` echo $a |
はじめまして。 現在少々考えこんでしまっていることがあるのですが DB2でフェデレーション設定を行いたいと思っています。 ただ、フェデレーションという事自体をあまり 明確に理解しておりません。 どなたか、わかり易い説明などしていただけますでしょうか。 ラッパーやらニックネーム作成など色々調べれば出てくるのですが いまいちピンとこないのです。 どなかたご教授願えればありがたいです。 よろしくお願いいたします。 |
Bシェルのプロンプトについて教えて下さい。 Bシェルのプロンプトに日付、時間を表示し、何かコマンドを実行するごとに プロンプトに表示する表示内容を変えたいのですが、可能なのでしょうか。 PS1="[`date{] " とすれば、表示することはできますが、処理を実行するごとに変わりません。 変えたいのですが、方法とかあるのでしょうか。 |
BINDについて教えて下さい。 soralis7でBIND8.1.6の環境でDNSを構築しています。 named.confにzoneで以下の設定を追加してみましたが記述の間違いみたいなエラーが出ました。 zone "ドメイン名" in { type forward; forward only; forwarders { aa.bb.cc.dd; }; }; soralis9でBIND9.3の環境では正常に動作したのでBIND8.1.6ではzoneのforwardは 出来ないのではないかと思っています。 soralis7の環境でBINDをハ゛ーシ゛ョンアッフ゜したら動作するのではないかと思っていますが、 soralis7の環境で正常に動作するBINDは、どのハ゛ーシ゛ョンでしょうか? また、パッチの適応で動作するなどの情報がありましたら教えて下さい。 |
>>4718 こう shシェルのプロンプトでは無理です。 機能がなかったと思います。 表示は出来ても、プロンプトが生成される度に実行されません。 bashを使われてはいかかがですか。 bashのプロンプトで、時間、日付を表示できるエスケープが あったはずです。 |
テープにtarで吸い上げたファイルを削除する方法を教えてください。 テープ内にはtarで吸い上げたファイルがいくつかあり そのファイルの一つを任意で削除したい場合です。 お願いします。 |
tarコマンドでわからないことがあり質問させていただきく以下に記します。 使用マシン:Solaris系 (UNIX) DDS4のテープに15Gほどのデータを吸い上げました。 tar cvf /dev/rmt/0c /XXX/XXX ただし、他のサーバで25Gほどあいているディスクに tar xvf /dev/rmt/0 で展開しようとしたところ、 読み取りエラーが発生しました。 ネットなどでブロックサイズがXXXという説明を見ましたが 実際どのように対応するのかが記載している部分を見つけることが できず、教えてください。 |
Solaris8で質問です。 rloginで特定IP帯からは特定ユーザでログインできないよう、 制限したいと考えています。 既存ツールを使って実現する方法はあるでしょうか。 何か情報ご存知の方がおられましたら、ご教授お願いします。 |
Solaris8でzip圧縮した際にパスワードをかけたいと思っています。 現在の環境にはinfo-zip2.2がインストールされています。 過去ログにSolaris 標準の zipは暗号化ライブラリなしで コンパイルされていて、ソースを改造してコンパイルすればよい とあるのですが、 これはzip2.2のソースでしょうか?Solaris8のソースでしょうか? またzip2.2の場合、現時点の最新版zip2.3.2にバージョンアップすれば 暗号化できますでしょうか? よろしければご教授おねがいします。 |
NetBSD/macppcにて、一通りの初期設定はすみました。 次は、インターネット接続を試みようとしています。 http://nobug.tukusi.ne.jp/netbsd-guide/trans/netbsd.html の10章あたりを参考に設定しているところなのですが、イマイチよく分かりません。 モデムのデバイスが何なのかが分からないのです。 本体のUSB端子からKeyspan USA-28Xを接続してそこからシリアルポ−トにて モデムにつながっています。 USA-28Xは認識できているようなのですが、肝心のモデムのデバイスが分からず、 上記URLの10.1.3.7にあるようなモデムの試験ができないでいます。 モデムはINSメイトV-30DSUです。 どなたか、御助言、御教授いただけませんでしょうか。 環境は、 Power Mac G4 450MHz AGP Graphics NetBSD/macppcのバ−ジョン3.0 カ−ネルはデフォルト(GENERIC) dmesgとls /devの結果は http://ww2.tiki.ne.jp/~gari/dmesg.txt http://ww2.tiki.ne.jp/~gari/device.txt にあります。 |
log4j経由でsyslogに同じメッセージを出力する時に… ちょっとこの掲示板で以下の質問をして良いのかどうかわからないのですが、質問します。 log4jのSyslogApenderを使用してのUnix上マシンでのsyslogに出力する時に、前回と同じ内容のメッセージを出力した場合(前回出力してから30秒経過して出力)、なぜか下記の出力になります。 Nov 9 11:56:39 usrA ccc: repeate test Nov 9 11:56:39 usrA last message repeated 1 times 『last message repeated 1 times』とは、syslogdのログの抑止をするための仕様です。 このメッセージが出るのは問題ないのですが、2回目の出力時刻が30秒たったにもかかわらず、前回と同じ時間を示しています。時刻を出力しているのは syslogデーモンであり、syslogdが呼ばれた時刻を本来出力しています。 log4j経由ではなく、直接syslogdにログ要求を出した場合は、以下の出力なります。 Nov 9 11:56:39 usrA ccc: repeate test Nov 9 11:57:09 usrA last message repeated 1 times いろいろ調べたのですが、原因の糸口すらわかりません。どんなに時間が経過しても前回と同じメッセージの場合、『last message repeated n times』が必ず出力されるので困っています。 なぜこのような現象になるのかわかる方がいましたら、ご教授願います。また回避方法がありましたら教えてください。 環境: log4j1.2.12 JDK5.0 Solaris8 |
こんにちは と言う言葉は暗号化したら何で しいねてふ になるのですか? 教えてください。 |
Proxy経由でSSL_connectをcallした際にエラーが起こりました。 調べたところコネクション成立までに時間が掛かる場合があると 書かれていましたので、sleepしてみたり、複数回callしましたが 効果はありませんでした。 こちらのNo.289xあたりを参考にしましたが、これも効果がありませんでした。 WindowsXP VC++8 Winsock2 OpenSSL0.9.8aを使用しています。 SSL_connectまでは以下のような流れです。 socket(); connect(); proxyにCONNECT送信、200番を受信 SSL_library_init(); SSL_load_error_strings(); SSL_CTX_new(); SSL_CTX_load_verify_locations(); SSL_new(); SSL_set_fd(); SSL_connect();← "-1"が返ってきます SSL_get_error();← "5"が返ってきます 元々はこちらのソースを参考にしてRedHat上で動いていたものを移植しています。 変更点はsocket関数の戻り値がint型からSOCKET型になったぐらいです。 proxyを使わない場合はSSL_connectが成功し、その後のSSL_writeとSSL_readも成功しています。 この現象が起こったマシンのcygwinにさらに移植をしたところ こちらはproxy経由でもSSL_connectに成功しました。 |
質問があります。 とあるアプリケーションがとあるサーバーと通信しているとします。 そのアプリケーションが接続しているサーバーの、IPとPort番号を調べるにはどうすればよいのでしょうか。 |
>>4734 ひよこ netstat コマンドでどうでしょう。 http://x68000.q-e-d.net/~68user/unix/pickup?keyword=netstat&target=command |
>>4731 wssjf120 「シーザー暗号」で調べてみてください。 |
こんにちわ いくらかでもヒントが欲しくて投稿しました。 グーグルマップの ajax についてなのですが、 グーグルマップの htmlソース内に <div class="sloc" jsdisplay="$m.svaddr"> のようなコードがあります。 このタグ内に jsdisplay という属性名がありますが これはmaps2.68.jsファイル内で以下のコードと関連しているようなのですが var Tc="jsselect", te="jsinstance", aj="jsdisplay", cj="jsvalues", bj="transclude", $i="jscontent", mk="$index", nk="$this" ; javascriptで jsdisplay のような任意の属性名を定義する方法というか それに関して何らかの情報があれば教えていただけませんでしょうか。 |
>>4737 moto 勝手に作った属性を書いておいて、getAttribute で読み出すことができます。 値のセットは setAttribute で。XHTML とかだと勝手に属性を作るのはまずい のかもしれませんが、詳しくないのでわかりません。 -------- <html><body> <div id="mydiv" hoge="abc"></div> <script language="JavaScript"> var mydiv = document.getElementById('mydiv'); alert(mydiv.getAttribute('hoge')); </script> </body></html> --------- |
>>4732 びすこ > SSL_get_error();← "5"が返ってきます よくわかりませんが、5 ってのは include/openssl/ssl.h の #define SSL_ERROR_SYSCALL 5 /* look at error stack/return value/errno */ ですよね。 http://www.openssl.org/docs/ssl/SSL_get_error.html Some I/O error occurred. The OpenSSL error queue may contain more information on the error. If the error queue is empty (i.e. ERR_get_error() returns 0), ret can be used to find out more about the error: If ret == 0, an EOF was observed that violates the protocol. If ret == -1, the underlying BIO reported an I/O error (for socket I/O on Unix systems, consult errno for details). の通りにやってみるとどうなりますか? |
68user 様 ヒントありがとうございました。 グーグルマップを制御しているmaps2.68.jsファイル内にもgetAttribute,setAttributeの関数が出て いますのでこれらが鍵なんですね。 一筋の光明が見えてきた気がします。 でも、maps2.68.jsファイルは170キロバイトもあるのに一行しかありません。 ですからコメントなぞ一つもなくすごい代物です。 解読するのに改行とインデントを入れる作業をしているのですが、 これがまた気の抜けない大変な作業です。 グーグルさんも簡単には教えてくれないんですね (^_^.) ありがとうございました。 |
>>4740 moto どこかに解説サイトがあったような…と思ったら、Google Suggest でした。 http://slashdot.jp/developers/article.pl?sid=04/12/18/1033242 Maps の解説は見たことはありませんが、ある程度なら探せばあるかもしれませんね。 |
http://X68000.q-e-d.net/~68user/unix/ の検索は OR 検索だったのですが、 AND 検索に変更しました。そのために結構な量の改修を行ったのですが、例に よって怪しげです。もし不具合があればお教えいただけると幸いです。 |
>> SSL_get_error();← "5"が返ってきます >よくわかりませんが、5 ってのは include/openssl/ssl.h の > #define SSL_ERROR_SYSCALL 5 /* look at error stack/return value/errno */ >ですよね。 おそらく#define SSL_ERROR_SYSCALL 5の5だと思います。 >http://www.openssl.org/docs/ssl/SSL_get_error.html > Some I/O error occurred. The OpenSSL error queue may contain more information > on the error. If the error queue is empty (i.e. ERR_get_error() returns 0), ret > can be used to find out more about the error: If ret == 0, an EOF was observed > that violates the protocol. If ret == -1, the underlying BIO reported an I/O > error (for socket I/O on Unix systems, consult errno for details). >の通りにやってみるとどうなりますか? 再度デバッグをしたところssl_connect()の戻り値は-1ではなく0でした。 10回ぐらい連続で動かしてると-1が戻ることもあります。 戻り値が0ですとプロトコルに違反したEOFが見つかったとありますので、 SSL_CTX *ctx = SSL_CTX_new(SSLv23_client_method()); と、プロトコル設定をしているのが悪いのかと思い TLSv1_client_method()などに変えてみましたが効果はありませんでした。 EOFに関してはEnd Of Fileしか思い浮かばずお手上げです。 戻り値が-1のときのBIO云々に関してもぐぐって見つけたソースを追加してみましたが こちらも効果はありませんでした。 Winsock2を使ってproxy経由のときだけssl_connect()でエラーになるほうが難しいと 思うのですが・・・ こればかりやっていられないので、cygwinの方を使うことにします。 |
初めて書き込みさせていただきます。 http://x68000.q-e-d.net/~68user/net/rsa-1.html に書かれているrsa1.cをVisal Studio 2005で実行させたいのですが、可能でしょうか? |
>>4744 peace そのままでは動かないので、 http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=981427&SiteID=7 などを参考にしてください。 |
初めまして、hornetsと申します。 このサイトには、OpenSSLを用いたRSA暗号のプログラムが掲載されていますが、 OpenSSLを用いてElGamal暗号もできるのでしょうか? 教えていただけたら幸いです。 |
>>4746 hornets > OpenSSLを用いてElGamal暗号もできるのでしょうか? 現時点の OpenSSL には ElGamal は実装はされていません。 OpenSSL の ML を探すと、実装が欲しいなら http://mixmaster.sourceforge.net/ を見れば、とありました。 # http://marc.theaimsgroup.com/?l=openssl-users&m=92476310717523&w=2 |
初めまして。Kenichi Maehashi と申します。 いつもネットワーク関連の情報を拝読させていただいております。 さて、 >> http://x68000.q-e-d.net/~68user/net/module-pop3.html を参考にさせていただきながら、POP3 クライアントを書いたのですが、 実行すると、カレントディレクトリに msg-xxxxx-x.txt というような テキストファイルが出力されてしまいます。(x は数字です) これは Net::POP3 モジュールの仕様なのでしょうか。 または、出力をしないような設定方法はありますでしょうか。 ご教示いただければ幸いです。 よろしくお願いいたします。 |
>>4748 Kenichi Maehashi Perl5.8.5 の Net::POP3 で試してみましたが、そのようなファイルは 生成されませんでした。 Net/POP3.pm や、それが利用している Net/Cmd.pm、Net/Config.pm を見ても、 msg-xxxx-x.txt というファイルが生成されるようには見えませんでしたので、 今一度確認していただけますか。接続時に $pop = Net::POP3->new($hostname, Debug => 1); と Debug を ON にすると何かわかるかもしれません。 |
>>4748 68user さま 有り難うございます。 コードを削って確認してみたところ、併用していた MIME::Parser モジュールが 出力するファイルであることが分かりました。確認不足で申し訳ありません。 MIME::Parser の出力するメッセージファイルは出力しないよう設定できないのでしょうか。。。 重ね重ね申し訳ございませんが、何卒宜しくお願い致します。 |
>>4750 Kenichi Maehashi よくわかりませんが、output_to_core でしょうか。 http://search.cpan.org/~eryq/MIME-tools-5.411a/lib/MIME/Parser.pm output_to_core YESNO Instance method. Normally, instances of this class output all their decoded body data to disk files (via MIME::Body::File). However, you can change this behaviour by invoking this method before parsing: If YESNO is false (the default), then all body data goes to disk files. If YESNO is true, then all body data goes to in-core data structures This is a little risky (what if someone emails you an MPEG or a tar file, hmmm?) but people seem to want this bit of noose-shaped rope, so I'm providing it. Note that setting this attribute true does not mean that parser- internal temporary files are avoided! Use tmp_to_core() for that. With no argument, returns the current setting as a boolean. |
>>4748 68user さま お世話になっております。 ご指摘の通り、$parser->output_to_core(1); で解決できました。 このページはチェックしていたのですが、見落としておりました。。。申し訳ありません。 本当に有り難うございました。 |
はじめましてwここのHPをみてソケット通信を勉強しています。 よろしくお願いします。 perlを使ってサーバプログラムとクライアントプログラムを作り ソケット通信をしています。 ActivePerlを使用し、ローカルマシンでは通信できているので 実際にサーバプログラムをサーバにUPしてテストしたいと思い プロバイダからもらった領域にFTPでUPしました。 で、質問なのですが サーバプログラムが仮に http://www.aaa.com/user/test.pl という アドレスにある場合 クライアントプログラムの IO::Socket::INET->new( PeerAddr ... ); のPeerAddrはどう変えればいいのでしょうか? ※モジュールを使ってみようを参考にしています。 またほかにも何かしなければいけないのでしょうか? よろしくお願いいたします。 |
>>4753 サーバにUPしたプログラムと通信したい $socket = IO::Socket::INET->new( PeerAddr => 'www.aaa.com', PeerPort => '80', Proto => 'tcp'); ); でよいです。 http://perldoc.perl.org/IO/Socket/INET.html に書き方のサンプルが あるので、ざっと眺めてみてください。 |
ありがとうございます。 PeerAddr => 'www.aaa.com' を指定した場合 user/test.pl この部分はどうなるのでしょうか? 特に指定しなくても通信できるのでしょうか? |
>>4755 かみゅ IO::Socket はソケットのモジュールです。その上に HTTP を流すのであれば HTTP クライアントを作ってみよう(1)〜(4) を読んで、送信すべき HTTP リクエストはどんなものなのかを調べてください。 |
初めまして、書き込みさせていただきます。 現在RSAについて学んでおり、非常に有用な情報としてこちらのHPを拝見させていただきました。 さて、http://x68000.q-e-d.net/~68user/net/rsa-1.htmlに記載されているrsa-1.cをコンパイル してみたところ、openssl関連のヘッダファイルが読み込まれない旨のエラーが返され、 実行できません。実行環境としてVineLinux3.1にてgccコンパイラを用いており、opensslの バージョンは最新版と思われる0.9.8をインストールしております。 対策方法をご教授いただければ幸いです。よろしくお願いします。 |
>>4757 matsumoto まずは rsa.h や engine.h のありかを探してください。 例えば /usr/local/include/openssl/rsa.h が存在するなら % gcc -I /usr/local/include rsa-1.c とします。 |
はじめまして。STと申します。 CGI初心者です。 質問させていただきます。 「静的な画像表示」のところで、該当するソースをコピーして サーバーにアップした後http://〜cgiと入力しGIFファイルを表示させようとすると 「GIF89aX」と表示されます。 パーミッションはOKで画像ファイルは存在します。 解決方法を教えていただけますと幸いです。 よろしくお願いします。 |
>>4759 ST http://chaichan.web.infoseek.co.jp/qanda/qa7041.htm に一本化ということで。 |
http://x68000.q-e-d.net/~68user/webcgi/sample/perl/graph-maker.cgi にて日本語を出す方法のメモ。 % cvs di -u cvs diff: Diffing . Index: graph-maker.cgi =================================================================== RCS file: /home/68user/cvsroot/public_html/webcgi/sample/perl/graph-maker.cgi,v retrieving revision 1.9 diff -u -r1.9 graph-maker.cgi --- graph-maker.cgi 26 Feb 2006 08:31:21 -0000 1.9 +++ graph-maker.cgi 13 Feb 2007 13:12:16 -0000 @@ -886,6 +886,8 @@ } } + GD::Text->font_path( "/usr/local/share/fonts/TrueType/" ); + $graph->set_title_font("sazanami-gothic", 14 ); my $image = $graph->plot($ref_data) or die "Cannot create image"; binmode STDOUT; |
findコマンドの使い方について教えて下さい。 findコマンドで検索を行う場合、指定したディレクトリ内だけ 検索を行い、下位のディレクトリは対象外にしたいのですが できるのでしょうか。 例えば、/tmp配下を検索するとして、 /tmp /tmp/backup /tmp/save とあった場合、 /tmp内だけを検索し、/tmp/backupや、/tmp/saveなどの下位ディレクトリ内 は見ないようにしたいのです。 find /tmp -name "*.csv" ! -size 0 -print ドキュメントに、「-prune」がありましたが、指定すると、表示すべきものが でてきません。上手くいきませんでした。 find /tmp -name -prune "*.csv" ! -size 0 -print find /tmp -name "*.csv" -prune ! -size 0 -print また、ファイル名は、ワイルドカード指定なので、表示後のgrepなども 使えません。 環境は、 Solaris8 Bシェル |
>>4762 べた 試してませんが、 % find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print ですかね。 とはいえ、 - maxdepth オプションを使える find をインストールする - grep '^/[^/]*/[^/]*$' としてパスに '/' が 2個以上含まれないことを チェックする - ls -l /tmp/*.csv | awk '$5~/^0$/{print $9}' などの方法がよいような気もします。 |
>> 4763 ありがとうございます。 >% find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print ですが、配下のディレクトリを全て網羅するのは。。。 また、試してみましたが、直下のファイルがでませんでした。 > - maxdepth オプションを使える find をインストールする > - grep '^/[^/]*/[^/]*$' としてパスに '/' が 2個以上含まれないことをチェックする 実際には、パスに、’/’が2個以上含まれるているので無理かと。 > - ls -l /tmp/*.csv | awk '$5~/^0$/{print $9}' これが、一番よい方法になるのですかね。 |
>>4764 べた > 直下のファイルがでませんでした。 FreeBSD では表示されました。Solaris の find は出ないのでしょうか。 > 実際には、パスに、’/’が2個以上含まれるているので無理かと。 「3個以上」の誤りでした。 ベストなのは「/tmp/ 直下に置くといういまいちな仕様を直す」だと 思いますが、それができれば苦労してないんでしょうね。 |
>>4765 68user ありがとうございます。 > find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print ですが、 期待したものがでませんでした。 「*.csv」が表示されず、それ以外の全てがでました。 lsコマンドで上手く行きそうなので、この方法で試します。 |
>>4764 べた >>% find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print >ですが、配下のディレクトリを全て網羅するのは。。。 すべて書くのは不可能ですよ。 それに、10も20もないでしょ。 ディレクトリだけを求めてすべてを変数に入れて設定すれば出来ませんか。 OP="-o -name backup -o -name -save" find /tmp -name "*.csv" $OP -o ! -size 0 -print でも、その下にあったら無理かな。 >>4766 べた >> find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print >ですが、 >期待したものがでませんでした。 >「*.csv」が表示されず、それ以外の全てがでました。 使い方、間違ってませんか。? |
初めまして!beckと申します。 このサイトでOpenSSLを用いたRSA暗号を実装例を紹介していますが、 鍵生成などの工程では、どれほどの時間を要するのでしょうか? もちろん、PCのスペックに左右されることは承知していますが・・・ |
>>4765 68user >>4768 庵 >% find /tmp -name "*.csv" -o -name backup -prune -o -name save -o ! -size 0 -print ですが、 やはり上手くでません。 期待している’*.csv’を表示しません。 > FreeBSD では表示されました。Solaris の find は出ないのでしょうか。 UNIXのOSによって異なる動きをするというこですか。 Solairs以外の環境がないのでなんともいえませんが。 |
文字コードとエンコーディング (1) http://x68000.q-e-d.net/~68user/webcgi/char-code-1.html 上記のページ、とても良くできていると思います。 ありがとうございます。 しかしながら、「エンコーディングとは」の項の先頭付近にある「他の文字と同時に扱う場合のことは考えられていません」の『文字』は『文字集合』とするべきでは無いでしょうか? # 入門学習のために読む人にとって、重要な部分だ思います。 |
>>4771 zxcv ご指摘ありがとうございます。修正してみましたがいかがでしょうか。 http://x68000.q-e-d.net/~68user/webcgi/char-code-1.html cvsweb が動かなくなっているので、修正点の diff を貼っておきます。 RCS file: /home/68user/cvsroot/public_html/webcgi/org/char-code-1.html,v retrieving revision 1.6 diff -r1.6 char-code-1.html 68c68 < <LI>ASCII … 半角英数字・半角記号 (a,A,0,!,@,#) --- > <LI>ASCII … 半角英数字・半角記号 (a,A,0,!,@,# など) 70c70 < <LI>JIS X 0208 … ひらがな・かたかな・漢字・全角記号 --- > <LI>JIS X 0208 … ひらがな・カタカナ・漢字・全角記号 73c73 < があります。 --- > などがあります。 80c80 < エンコーディングとは、複数の文字集合を一緒に扱うための枠組のことです。 --- > エンコーディングとは、複数の文字集合を同時に扱うための枠組のことです。 82c82 < 他の文字と同時に扱う場合のことは考えられていません。 --- > 他の文字集合と同時に扱う場合のことは考えられていません。 84c84 < ASCII と JIS X 0208 を同時に扱う場合を考えてみましょう。 --- > たとえば、ASCII と JIS X 0208 を同時に扱う場合を考えてみましょう。 90c90 < 「A」なのか「あ」なのかを判断できません。そのためには --- > 「A」なのか「あ」なのかを判断できません。これを判断できるようにするためには、 94c94 < つまり「ここから先は ASCII」「ここから先は JIS X 0208」というようなものを入れる。 --- > たとえば「ここから先は ASCII」「ここから先は JIS X 0208」という意味の、区切り用のコードを入れる。 96c96 < という2通りの対策があります。さらに、 --- > という2通りの対策が考えられます。さらに、 101c101 < という細かい規格を決めたもの、それがエンコーディングです。 --- > という細かな規格を決める必要があります。 103,104c103,105 < エンコーディングには、主に3種類あります。 < JIS と Shift_JIS と EUC-JP です。 --- > このような、複数の文字集合を同時に扱うための規則のことを「エンコーディング」と呼びます。 > <P> > エンコーディングには、主に3種類あります。ISO-2022-JP と Shift_JIS と EUC-JP です。 |
readコマンドを使ってファイルから読み込みを行っています。 読み込んだ件数を出力しようとしているのですが、どうしても 0件となってしまいます。 どこがいけないのでしょうか。どう直せばよいのでしょうか。 ----------------------------------- #!/bin/sh # FILE="/tmp/sample.csv" i=0 while read LINE do 編集処理 表示処理 i=`expr ${i} + 1` done < ${FILE} echo "${i} 行読み込みました。" |
>>4773 べた whileとかforのループ内で使用した変数は、 ループ終了後(ループを抜けた後)参照する ことはできないのでようか。 できるとした場合、どうすればいいのですか。 |
>>4774 べた 私もあまり詳しくないのでしりません。 kshでできたような。 http://search.luky.org/linux-users.9/msg06099.html で、似たことが質問されていますので確認してみては。 |
>>4774 べた 最近シェルスクリプト触ってないんですが、 多分これでOKかと。 ------ i=0 exec 3<&0 0<$FILE while read LINE; do : done exec 0<&3 3<&- echo $i ------ |
>> 4776 ありがとうございます。 上手く行きました。 また、以下でも出来ました。 ------------- i=0 exec < ${FILE} while read LINE do echo ${LINE} i=`expr ${i} + 1` done echo ${i} ------------- |
はじめまして。 質問があります。 よくあるポートモニターなどはどのように作っているのでしょうか。 また、自分のパソコンが通信しているデータを見ることができますか? |
Perlなのですが、sync(fsync?)を使って 書き込みを実現しようとしています。 書き込み後、正しく書けたか、ファイルの比較や サイズの取得をやろうとしています。 今一、Perlのモジュールとかライブラリとかが わかりません。 参考になるものありませんか。 また、どのようにすればよいですか。 |
findコマンドの「-perm」指定での検索について findコマンドで、ファイルの権限の検索をする場合、 ユーザ、グループ、その他の所有者に権限を設定して 実施しますが、ユーザ、グループ、その他所有者を 表す「u」、「g」「o」の前に、「-」があるかないかで 状態が変わります。 「u」、「g」「o」の前の「-」にはどのような意味が あるのでしょうか。 # find . -type f -perm o+w # find . -type f -perm -o+w # find . -type f -perm -g+w,o+w # find . -type f -perm -g+w,-o+w |
>>4781 べた http://www.linux.or.jp/JM/html/GNU_findutils/man1/find.1.html がわかりやすいかと思います。 -perm -mode mode で指定されている許可属性ビットのすべてがファイルでも立っていたら真。 -perm +mode mode で指定されている許可属性ビットがファイルでどれか一つでも立っていたら真。 |
おしえてください |
VMwareServer(無償版)を使ってlinux4を2台(A、B)を仮想環境を使ってインストール しました。(ethernetはnetwork connectionはHost-only) linuxのファイアウォールを無効にし、bindをカスタムでインストールし 特に設定を変更しないで、/var/named/etc/chroot/etcフォルダにnamed.conf を作成しました。 AサーバのVゾーンの問い合わせについては、zoneファイルから名前解決はできますが、 Xゾーンについてはforwardを使ってBサーバに転送するように設定しましたが Xゾーンの名前解決ができません。(Xゾーンについては、Aサーバからの問い合わせ に関しては、Xzoneファイルで解決するように設定してあります) AサーバからXゾーンPCに対してdigコマンドを実行すると、 AUTHORITY SECTION : 518400 IN NS F.ROOT−SERVER.NET ・・・・ が記録されます。 何か原因等は考えられるでしょうか。 ちなみにforwardの設定は以下のようにしてあります。 ご教授のほう、よろしくお願いします。 zone "X" { type forward; forward only; forwarders { 0.0.0.0; #Bサーバのアドレス }; |
解決しました。 recusionがnoになっていたようです。 |
>4782 ありがとうございます。 読んでみます。 |
>>4782 68user ありがとうございます。 読んでみます。 |
シェルで、FTPを自動実行しています。 FTPの接続が失敗した場合、ログイン・パスワードが間違っていた場合、 getするファイルが存在しなかった場合など、異常を判断したいのですが、 例えば、 0:正常終了 1:実行エラー みたいな感じで、、、。 リターンコードを取得することができるのでしょうか。 UNIXのFTPですとファイル転送に失敗してもリターンコードが、”0”が 返ってくると聞いたのですが、最後に、byeを実行しているので、"0”で 返ってきます。 以下のような内容でやっています。 ftp -v -n [IPアドレス] <<END > /dev/null 2>&1 user [ユーザ名] [パスワード] cd [リモートディレクトリ] lcd [ローカルディレクトリ] get [getするファイル名] bye END エラーだけをファイルに出力してみたのですが、接続エラーしかでず、 ログインの失敗やファイルが存在しないエラーは出力されませんでした。 ftp -v -n [IPアドレス] <<END 2>ftp_error.log > /dev/null >&1 すべてのFTP結果ログをファイルに出力し、該当の処理のエラーメッセージ があるかないかをgrepでみるしかないのでしょうか。 Not connected. 530 Login incorrect. Login failed. 530 Please login with USER and PASS. 550 getするファイル名: No such file or directory. |
>>4788 べた ftp コマンドを使う限りは > すべてのFTP結果ログをファイルに出力し、該当の処理のエラーメッセージ > があるかないかをgrepでみるしかないのでしょうか。 が無難です。また、どのようなエラーがどこで発生したかをプログラム上で 突き止めようとせず、行頭の 4xx か 5xx にマッチするものがあれば全て エラーとすることをお勧めします。 これ以上を求めるならば、Perl + Net::FTP モジュールなどで FTP クライアントを 作成するのがよいとわたしは思います。 |
>> 4789 ありがとうございます。 必要な、エラーすべてをgrepしようと考えていました。 行頭の 4xx か 5xx にマッチするものがあれば全てエラー とするでやつてみます。 ちなみに、接続エラー(open)ですが、これは、4xxとか5xx にならないのですが、メッセージの内容で見た方がよいの でしょうか。 |
>>4790 べた > ちなみに、接続エラー(open)ですが、これは、4xxとか5xx にならないの > ですが、メッセージの内容で見た方がよいのでしょうか。 数年ほど前に同じようなことをやっていましたが、そのときはどうやったの だったか…。 ・ftp コマンドの終了ステータスが >0 ならエラー ・2xx がひとつもなかったら認証以前で失敗とみなしてエラー のいずれかだったような気がします。 |