68user's page 掲示板

Prev< No. 2541〜2575> Next  [最新発言に戻る] [過去ログ一覧]
No. 2541 # こうた 2002/02/26 (火) 21:42:35
OCNのADSLアクセスIP8「フレッツ」のサービスでの
PPPOEのLAN型接続において、
固定グローバルIPを割り当てたPC(サーバー)に対して、
外部のPCから(インターネット経由で)アクセスすると、HOST検索にやたら時間がかかります。(約18秒)
時間がかかっているのは、WINSOCKのgethostbyaddrという関数です。
上記の不具合を解決する方法を知っていましたら、教えていただけないでしょうか?ブローバンド・ルータに原因があるのかと思い、買い替えましたが、結果は同じでした。ちなみに、pingは0.1秒以内に帰ってきます。

No. 2542 # こうた 2002/02/26 (火) 21:58:18
OCNのADSLアクセスIP8「フレッツ」のサービスでの
PPPOEのLAN型接続において、
固定グローバルIPを割り当てたPC(サーバー)に対して、
外部のPCから(インターネット経由で)アクセスすると、HOST検索にやたら時間がかかります。(約18秒)
時間がかかっているのは、WINSOCKのgethostbyaddrという関数です。
上記の不具合を解決する方法を知っていましたら、教えていただけないでし
ょうか?ブローバンド・ルータに原因があるのかと思い、買い替えましたが、結果は同じでした。ちなみに、pingは0.1秒以内に帰ってきます。

No. 2543 # 68user 2002/02/27 (水) 01:00:14
>>2540 小僧
> cat telnet_file | telnet
こういうふうに使える telnet ってあるんでしょうか。どこかに
書いてあったのを参考に作っておられますか?

で、普通 telnet というのは人間が操作しますので、
    Login:
と表示されてからユーザ名をタイプし、
    Password:
と表示されてからパスワードをタイプし、その後コマンドを実行して
実行結果を見るわけです。

なので、これを自動化するには
    Login:
という文字列が相手側から送られてきてからユーザ名を送り、さらに
    Password:
という文字列が送られてきてからパスワードを送り、コマンドを送り、
その結果を取得する。ただしプロンプトとコマンドの実行結果を選り
分ける、というなかなか面倒な話なのです。CZ さんは「ユーザ名が
要求されるまで」と表現しておられますが、実際は単に文字のやりとり
をしているだけで、「プロトコル」といった大層なものがあるわけでは
ありません。

面倒なこと一切抜きで手抜きするならこんな感じ。
    ( sleep 2 ; echo USER ;
        sleep 2 ; echo PASS ;
        sleep 2 ; echo date ;
        sleep 2 ) | telnet localhost

ちゃんと真面目にやるなら expect コマンドや p5-Telnet など。
>>1335-1340 参照。

もっとよいのは rsh。さらによいのは ssh って感じですかね。
# http://www.jp.FreeBSD.org/QandA/HTML/1576.html


>>2542 こうた
> 外部のPCから(インターネット経由で)アクセスすると、
> HOST検索にやたら時間がかかります。(約18秒)
どの外部の PC 経由からでも名前解決に時間がかかるのですか?
そのマシンのプライマリの DNS サーバはどこにありますか?
どのマシンからでもその現象が発生して、DNS サーバが外部に
あるなら DNS サーバの問題でしょう。

もし可能ならば、実際のホスト名を出して下さい。

No. 2544 # Hiro [E-mail] 2002/02/27 (水) 09:44:14
>>2536 68user
報告
おかげさまで、netscapeのインストール、できました。
なお、先に入れてしまった日本語 locale 用は、pkgrmコマンドでアンインストールしてから本体をインストールしました。それからnetscapeを立ち上げたら、なぜかメニューも日本語化されていました?pkgrmでの削除では、すべてを削除したわけではないのかもしれないので?残存ファイルで日本語されているのか・・?
とにもかくにも、前のhotjavaより軽いし、なんとか動いて嬉しいです^^
ありがとうございました。

その後、tomcatを起動してブラウザからみたところ、examplesの動作確認等、簡単なところまではできました。
取り急ぎご報告まで。

No. 2545 # 小僧 2002/02/27 (水) 10:14:12
>>2543 68user

返信、ありがとうございます。
>> cat telnet_file | telnet
>こういうふうに使える telnet ってあるんでしょうか。どこかに
>書いてあったのを参考に作っておられますか?
いえ、どこにも記述されていません。
FTPで同じ方法を使っているシェルがあったので、
それを参考にして作ってみました。

68uesrさんが言われた(echo 〜)の方法で
多分うまくいくと思います。
貴重なアドバイス、ありがとうございました。

rsh、sshが使えれば楽なんですが、
r系コマンドはセキュリティ上、
ssh等は自分の知識不足のため、お客様へ説明が出来なく
(セキュリティに関する部分)Telnetでシェルを
記述する事になっているのです。

過去ログの方も参考にしながら、後は自分で書いていこうと思います。
ありがとうございました。


掲示板のレスの表示がうまくいかないかもしれませんが、
ご容赦下さい。

No. 2546 # 小僧 2002/02/28 (木) 12:57:47
お世話になります、小僧です。

先日は、Telnetで質問させて頂き、ありがとうございました。
その後、仕様変更に伴い、rsh、rcpコマンドを使用する事になりました。
そこで、新たに疑問が発生したので、質問させて頂きます。


このホームページの"Unixの部屋"の.rhostsに関する内容の所です。
以下、抜粋させていただきます。

----- 抜粋 Start -----
それとは逆に、hoge.fuga.com の ~/.rhosts に

foo.bar.com user1

と書いておくと、foo.bar.com にログインしているとき、hoge.fuga.com に対して、
rcp・rsh・ノーパスワードでの rlogin を使うことができる。
----- 抜粋 End -----

記述してある条件のもと、上記の設定を行う場合、
~/のディレクトリは、User2に記述するとして、
その場合、User1がhoge.fugu.comホストに対して
rshを行った場合、実行ユーザはUser2になるのでしょうか?

説明が分かり辛いと思いますが、
ご教示して頂ければ幸いです。

No. 2547 # CZ 2002/02/28 (木) 18:51:51
先ほどUNIXの部屋で `ログ' を全文検索したのですが、
コマンドに本文がないと改行されないのが気になりました。

例)
        astrolog 占星術のプログラムらしい bison 構文解析パーサ生成プログラム

根本的な解決策は思いつきませんが、とりあえずは
本文がない場合は「お尻P」を付ければいいのかな?

# UNIXの部屋に長いことお世話になっていながら
# htmlファイルの存在を全く意識していなかった
# ことに気づいた今日この頃です。

No. 2548 # 68user 2002/03/01 (金) 01:28:31
>>2546 小僧
> その場合、User1がhoge.fugu.comホストに対して
> rshを行った場合、実行ユーザはUser2になるのでしょうか?
そうです。foo.bar.com に user1 としてログインし、
    % rsh -l user2 hoge.fuga.com /usr/bin/id
などとすれば確認できます。

>>2547 CZ
ご指摘ありがとうございます。</P> を付けるようにしました。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/unix/script/make-html

No. 2549 # CZ 2002/03/01 (金) 11:58:44
こんにちは。質問があります。

標準出力と標準エラー出力を画面に出力しつつ
エラー出力のみをファイルに保存したいのですが
shと標準的なUNIXのコマンドを使って実現可能な
ものなのでしょうか。

これまでに試したのは以下のような方法です。

--- test.sh ---
#!/bin/sh

echo stdout
echo stderr 1>&2
---

[その1]
        $ ./test.sh 2>error.log
    エラーが画面出力されないので×
    いざとなれば別の仮想端末で
        $ tail -f error.log
    としてもいいのですが。

[その2]
        $ ./tesu.sh 2>&1 | tee error.log
    エラー以外の出力も保存されるので×

No. 2550 # 68user 2002/03/01 (金) 12:44:49
>>2549 CZ
http://www.ainet.or.jp/~inoue/memo/sh-fd.html などを読みつつ
考えた結果、
    % (./test.sh > /dev/tty) 2>&1 | tee error.log
と、サブシェルを使わないとできないんじゃないか、という
結論になりましたがどうでしょう。

No. 2551 # CZ 2002/03/01 (金) 13:49:52
>>2550 68user さん
なるほど。
ttyでstdoutを出力してしまえば,
stderrが後に残るというわけですね。
(正しい表現が分かっていませんが。)

ありがとうございました。

No. 2552 # stone_free 2002/03/07 (木) 00:17:39
こんにちは。
今日、こちらのページをみて、suidというものを使えば、
とあるCGIを「nobodyじゃない権限で実行させたい」と
いう願いがかなうということがわかり、早速試してみました。
まず、こちらにサンプルでおいてあるwhoami.cgiをそのまま設置して
パーミッションをrwsr-xr-xとしたところうまく動きました。
その後、自作のCGI(nobodyでは動かしたことがあるもの)を同様に
nobodyでないユーザで動かそうと思ったら「Internal Server Error」
となってしまいました。

それで、うまくうごいた実績のあるwhoami.cgiを改造しながら原因を探した
ところ、どうやら「require 'jcode.pl';」を書いてしまうと
「Internal Server Error」となってしまうということがわかりました。
require 'jcode.pl';行をコメントアウトすれば動きます。

なんとか、この一行を含んでいるものも、setuidして動かすことは出来ない
ものでしょうか。
なにかよい方法がございましたらご教示ください。

宜しくお願い申し上げます。

No. 2553 # 68user 2002/03/07 (木) 13:33:42
>>2552 stone_free
まず、
    #!/usr/bin/perl
    require 'jcode.pl';
このスクリプトをコマンドラインから動かして下さい。カレント
ディレクトリに jcode.pl があればちゃんと動くでしょう。

suid したスクリプトを実行すると、perl は自動的に汚染モード
(taint mode) に切り替わります。いちいちスクリプトを suid して
web 経由で実行するのは面倒なので、perl に -T オプションを付けて
汚染モードで動作させます。
    #!/usr/bin/perl -T
    require 'jcode.pl';
今度は jcode.pl が見付からない、と言われるはずです。

require がライブラリを探すパスは @INC で設定されていますので、今度は
    #!/usr/bin/perl
    print "@INC\n";

    #!/usr/bin/perl -T
    print "@INC\n";
で違いを調べます。

#  perl -e 'print "@INC\n"'
#  perl -Te 'print "@INC\n"'
# としてもいいです。

すると、上の方では @INC の最後に `.' (カレントディレクトリ) が含まれて
いますが、-T を付けると `.' が含まれていないことがわかります。ドキュメント化
されていないのかもしれませんが、これは汚染モードの仕様なのでしょう。

というわけで、
    require './jcode.pl';
    require '/foo/bar/jcode.pl';
などと、@INC に頼らず require するか、require する前に
    push(@INC, '.');
すれば解決です。


その他、suidperl で動かすと PATH だとか umask だとかで文句を
言われることがあるかもしれませんが、いきなりブラウザ上で動作を
検証することはせず、必ず -T 付でコマンドラインから動作を確かめる
ようにして下さい。

No. 2554 # たこ。 2002/03/07 (木) 18:41:52
こんにちわ。早速なんですけど、教えて下さい。

以下のことを行った場合、
(1)javaのClassファイルをHP-UNIX上でコンパイル後、圧縮。
(2)windows2000にダウンロード後、CDに焼く。
(3)Solarisで解凍し、実行環境に投入。

で、Solarisで正常に動作するでしょうか?
javaだから出来るような気もするんですけど、やっぱりリコンパイルは必要な気もして。
よろしくお願いします。

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

No. 2555 # CZ 2002/03/07 (木) 21:45:24
ひとつ気づいたこと。

これまでずっと,tar + gzip 形式のファイルを展開するのに
    % tar zxvf hoge.tar.gz
といった順序でオプションを指定していました。

ところが,GNU Tar のマニュアルを見ると,
こんなことが書いてありました。

<http://www.linux.or.jp/JM/html/GNU_tar/man1/tar.1.html>
| tar への最初の引数は、オプション Acdrtux のいずれかでなくてはならない。
| この後にはどのオプション機能を指定する事も出来る。

最初の記述法は厳密に言うと間違いということに
なりそうなんですが,どんなものでしょうか。

No. 2556 # stone_free 2002/03/07 (木) 22:46:03
>>2553 68user
68userさん、有難うございました。
大変参考になりました。
おかげさまで、動かすことができました。
感謝感激です。

もうひとつ、教えていただいていいでしょうか。
今回の手順のひとつに
> perl に -T オプションを付けて汚染モードで動作させます。
> #!/usr/bin/perl -T
> require 'jcode.pl';
> 今度は jcode.pl が見付からない、と言われるはずです。
とありましたが、このとおりファイルに書いて
# perl test.cgi
としてコマンドラインで実行してみたのですが、
Too late for "-T" option at test.cgi line 1.
と出てしまいました。
#!/usr/bin/perlの後にオプションをつける場合は、クオートか
なにかでくくらないといけないのでしょうか。

また、「汚染モード」という物騒な名前はなにか訳があるのでしょうか。
やはり、本来のユーザと違う権限で実行できてしまうから危険である
ということでしょうか。

No. 2557 # 68user 2002/03/07 (木) 23:13:48
>>2554 たこ。
> で、Solarisで正常に動作するでしょうか?
Java のバージョンが合っていれば正常に動作するんじゃないでしょうか。

まぁ僕なら怖いので、Solaris でコンパイルして生成された class
ファイルを比較してみます。


>>2555 CZ
> tar への最初の引数は、オプション Acdrtux のいずれかでなくてはならない。
原文は
    The first argument to tar must be one of the options: Acdrtux
なので誤訳だと思います。
    tar に与える最初の引数の中には、必ず Acdrtux のうちの 1つを
    指定しなければならない
あたりでどうでしょうね。って、自信はないのですが。

No. 2558 # 68user 2002/03/07 (木) 23:31:54
>>2556 stone_free
> #!/usr/bin/perlの後にオプションをつける場合は、クオートか
> なにかでくくらないといけないのでしょうか。
原理を書き出すとまた長くなってしまうので割愛しますが、
    #!/usr/bin/perl -T
と書いたスクリプト hogescript を実行するには
    % ./hogescript
とします。

これは
    % /usr/bin/perl -T ./hogescript
と等価であって、
    % /usr/bin/perl ./hogescript
とは等価ではありません。

> また、「汚染モード」という物騒な名前はなにか訳があるのでしょうか。
ラクダ本では「汚染モード」と訳してあります。詳しくはこちらなど。
    http://www-sampei.ctrl.titech.ac.jp/perldoc/perl_20.html

No. 2559 # stone_free 2002/03/08 (金) 01:30:44
>>2558 68user
なるほど!よくわかりました。
重ね重ねありがとうございました。

No. 2560 # Moo [E-mail] 2002/03/09 (土) 12:23:55
    こちらのページのお陰で、サーバプログラミングに入ることが出来ました。
    CP/M、DOS、Windowsとやってきたのですが、サーバプ
ログラミングに入れなくて困っておりました。
    仕事でサーバ側のプログラムを組む必要に迫られ、Unixも知らな
いし、サーバサイドの概念もつかめなくていたのに、今ではFTPや
HTTP、POPもcronも使えるようになりました。
    ついでにPerlまで覚えてしまいました。

    黙って読ませていただくばかりでは心苦しく、お礼を述べさせて頂き
に参りました。
    今後もUnix勉強の基本ページとして利用させていただきます。
    親切で分かりやすいページを作って下さり有り難うございます。
    心より感謝申し上げます。

No. 2561 # へんきち 2002/03/10 (日) 23:44:51
おっと、私もこのページにお礼を言いに来たのですが
プチ先駆者が(笑)
このページには大変お世話になっています
ネットワークプログラミングの部屋でファイルディスクリプターという
概念を初めて知りました、僕は学生なのですが将来こういう方面の仕事に
つきたいと思ってます。大変に参考になるページでした
このページの更新、たのしみにしてますm(。。)m

No. 2562 # たこ 2002/03/11 (月) 09:40:55
>> 2557

いろいろと調査してみた結果、windows上でコンパイルしたものを圧縮してsolarisに持っていっても、JAVA周りの環境さえ同じなら正常に動作するということなので、大丈夫だと思います。

ありがとうございました。

No. 2563 # 小僧 2002/03/11 (月) 17:50:55
お世話になります、小僧です。
AIX上での文字コードに関してお聞きしたい事があります。

ファイルの文字コードを確認するコマンドというのは
存在するのでしょうか?
例えば、「このファイルの文字コードはShift-JISだな」などの
判断を行えるようなコマンドの事なのですが。

それと、iconvを行う事が出来る文字コードは、
"/usr/lib/iconv"ファイルに登録されているようなのですが、
このファイルはデフォルトでは存在しないのでしょうか?

ご存知の方がいらっしゃいましたら、宜しくお願い致します。

No. 2564 # スナフキン 2002/03/12 (火) 00:09:57
kccなんてコマンドがありましたけど、AIXに存在するかどうかは
不明です。

Ex:
kcc -c kannji_file.txt

ん〜ちょっと調べてみると、どうもLinux系だけみたいだなぁ・・・

No. 2565 # sisya [E-mail] 2002/03/12 (火) 02:27:50
はじめまして、
現在色々とcgiを作成しており、
色々とよくわからないバグを調べている内
たどり着いた次第です。

他のサイトではあまり解説されていない
ヘッダの解説など大変助かりました。
これからも更新楽しみにさせていただきます。

No. 2566 # 小僧 2002/03/12 (火) 10:39:54
>>2564 スナフキン

kccコマンドですが、ちょっと無さそうですね・・・
現在使用しているAIXにmanコマンドが入っていないので
なんともいえませんが、ネットや手持ちの資料には
載って無さそうです。

ついでに、と言っては失礼ですが、iconvでもう一つ質問を。
iconvコマンドで、変換後に存在しない文字が存在した場合、
自動で"_"に変換されるようですが、この"_"を他の文字に
変更する事は可能なのでしょうか?

例えば"*"にしたりする事は可能なのでしょうか?
ご存知の方がいらっしゃいましたらアドバイスお願い致します。

No. 2567 # 68user 2002/03/12 (火) 11:35:58
>>2564 スナフキン
文字コードを判断する方法ですが、mule に付属している coco、
昔 fj に流れた kanjitype、jcode.pl の jcode::getcode、
mule/emacs のステータスバーに表示される E/S/J の文字。

僕が知っているのはこれくらいです。

No. 2568 # 小僧 2002/03/13 (水) 20:28:59
お世話になります、小僧です。

色々と調べて頂いてありがとうございます。
どうやら、私の環境で調べる方法はなさそうですね・・・

また分からない事がありましたら、アドバイスお願い致します。

No. 2569 # 68user 2002/03/14 (木) 01:37:04
>>2564 スナフキン
> ん〜ちょっと調べてみると、どうもLinux系だけみたいだなぁ・・・
こういう一般的な用途のコマンド (ファイルを読んでコード変換するだけ) で、
なおかつソースが公開されているものは、よっぽどのことがない限り Linux
専用ということはありません。

FreeBSD の port/package にもありますし、NetBSD の package には含まれて
ないようですがコンパイルすれば使えるでしょう。まぁ、それを言い出したら
多分 Windows でも Mac でも使えそうな気がしますが。

>>2563 小僧
そういえば最初にここを紹介すべきでした。
    http://www.jp.FreeBSD.org/QandA/HTML/1254.html

>>2566 小僧
> 自動で"_"に変換されるようですが、この"_"を他の文字に
> 変更する事は可能なのでしょうか?
多分できないです。できたとしても、その環境の iconv のみの独自拡張でしょう。

こういうのは考え方を変えて、
    % sed 's/&/&amp;/g' | sed 's/_/&ubar;/g' | iconv -f shift_jis -t euc-jp | \
            sed 's/_/\*/g' | sed 's/&ubar;/_/g' | sed 's/&amp;/&/g'
などとファイル中の _ を別の文字に置換してから iconv を通せば
なんとでもできます。

# &ubar; というのは、いま適当に考えた実体参照で、本当は存在しません。

>>2560 Moo
>>2561 へんきち
>>2565 sisya
どもども。できれば改善すればよい点も書いていただけると嬉しいです。
# と言っても、時間がなくて対応できない可能性が大なんですが。

No. 2570 # q19_77 [E-mail] 2002/03/14 (木) 13:57:43
お世話になっております。
シェルスクリプトが上手く動作せず困っています。

行っている方法は、
Linux7.1J sendmail-8.11.2-14 procmail-3.21-0.71で
ユーザ"XYZ"のホームディレクトリに.procmailrcファイルを置き、
XYZ宛てのメール受信時に条件が合えばシェルスクリプト"ABC"を
実行するようにしています。

メール受信時に条件が合い、シェルスクリプトを実行するところまでは
上手くできたのですが、実行するシェルスクリプトの中の一部分のみ
動作しません。

その部分とはユーザ"mono"に切り替え、さらにシェルスクリプトを実行する以下です。
su - mono -s /home/mono/mno.sh ---(1)
※ユーザ"mono"はパスワードなしです。

((なお、mno.shの記述は
scp /var/XYZ/123.txt abc.world.co.jp:/home/mono/123.txt
ssh abc.world.co.jp sh /home/mono/mno2.sh
です。
他のLinuxサーバabc.world.co.jpへsshでファイルをコピーし、
他のサーバのシェルスクリプトmno2.shを実行))

(1)の部分に対してエラーでは、
standard in must be a tty
と表示されます。

他のサーバではこの記述通りで動作しました。
また、メール受信時にシェルスクリプト"ABC"を実行するユーザ"XYZ"
で手動でシェルスクリプトを実行すると(1)の部分も動作します。

Webで調べたところ、同じような現象になっている例もありましたが
解決策がありません。
そしてエラーの意味がよくわかりません。

勝手な推測ですが、実行しているサーバではセキュリティが強いため
パスワードなしとしている"mono"ユーザが原因ではないかと思います。

ですが、シェルスクリプトでパスワードも記述した形での"su"の実行は
可能かどうか分かりません。

申し訳ありませんが、何かよい策をお教えください。

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

No. 2571 # ふくし [E-mail] 2002/03/14 (木) 15:29:42
タブ区切りテキストを split /\t/ で切って各フィールドを変数に読み込み、
join "\t" で戻そうとすると、
場合によってはデータが抜けていることがあるので困ります。
タブ区切りデータを a, b, c, d、タブを->であらわすと、
split /\t/, "a->b->c->d" => (a,b,c,d)
split /\t/, "a->->c->d" => (a,c,d)
split /\t/, "a->b->->d" => (a,b,d)
split /\t/, "a->->->d" => (a,d)
split /\t/, "a->b->->" => (a,d)
ということで、
  1 while $str =~ s/\t\t/\t♪\t/;
  @list = split /\t/, $str;
  for (@list) {
    s/♪//; # $_ は @list の要素を参照する。♪がデータにないと仮定
  }
とかやってるんですが、いかにもダサいですね。
もっと常道はあるんでしょうか?

Excel で編集すると a->b->->\n が a->b\r\n となってしまうのも
困る。

No. 2572 # 田中 [E-mail] 2002/03/14 (木) 21:27:33
<A href="javascript:x(1)">1</A>
をクリックすると最終的に
Nの値(abcの所)を計算し
document.location.href="http://www.a/cgi/a.cgi?N=abc";
としていたのですが、不便な所を感じ変えたいと思っています。

Submitボタンを押したらNを計算し
<FORM name="f" method="post" onSubmit="if(x() != true) {return false}" action="a.cgi">
<INPUT type=hidden name=N value=abc>
としてa.cgiを起動する方法は知っているのですが、
上のものと組み合わせた感じで
<A href="javascript:x(1)">1</A>をクリックして
最終的にNを計算し
<INPUT type=hidden name=N value=abc>
のようにpost/getで起動する方法はないでしょうか?
自分なりにやってみてもよくわからないのです。
どなたか教えて下さい。
お願いします。
ちなみに初心者です。難しいことは解らないので細かく教えていただくと
助かります。

No. 2573 # 68user 2002/03/14 (木) 21:33:39
>>2570 q19_77
> standard in must be a tty
su は端末 (tty) からのパスワード入力を求めているのに、
端末がないよ、という意味です。

端末というのは、キーボードで入力ができて、文字が表示されるもの、
たとえば kterm がそれです。procmail 経由で実行されると端末が
割り当てられないので (キーボードもないし、出力する画面もない)
エラーになっているわけです。

> 他のサーバではこの記述通りで動作しました。
本当ですか? どうして root でもないのに、パスワードなしで
su で他ユーザになれるのですか?

> su - mono -s /home/mono/mno.sh

気になる点は2つ。

なぜ -c でなく -s なのでしょうか?
    http://www.linux.or.jp/JM/html/GNU_sh-utils/man1/su.1.html
によると、-s はシェルを実行するオプションですから、-s の場合端末が
あることをチェックしているのかもしれません。

あるいは環境変数 TERM などがセットされているので、端末を見にいってしまう
という可能性も考えられます。

ちなみに FreeBSD 4.4-RELEASE では、端末がない状態で (cron 経由)
    echo PASSWORD | su root -c /usr/bin/id
でプログラムの実行ができました。


>>2571 ふくし
> 場合によってはデータが抜けていることがあるので困ります。
そんなことはないと思いますが、perl のバージョンは何ですか?
perl-5.005_03 ではそのような挙動を示しませんでした。

No. 2574 # ふくし 2002/03/15 (金) 02:10:38
>>2573 68user
                さん:

えっと、
  split /\t/, "a->b->c->d" => (a,b,c,d)
  split /\t/, "a->->c->d" => (a,'',c,d)
  split /\t/, "a->b->->d" => (a,b,'',d)
  split /\t/, "a->->->d" => (a,'','',d)
  split /\t/, "a->b->->" => (a,b,'','')
となってくれる、ということですか?
あれーおかしいなー、、。

実は、下の♪を使ったコードが動いたのでロクな検証をしてないのでした。
勝手な思い込みで外していたら申し訳ありません。
Excel による末尾のタブの削除等の現象かな?
うーんうーん。

No. 2575 # big 2002/03/15 (金) 12:14:22
皆さん教えてください。
DATのテープを新しく交換するときに、ラベリングを行おうとすると
I/O errorが出るんですけど、まさか、formatが必要とかそんなことですか

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