68user's page 掲示板

Prev< No. 2572〜2585> Next  [最新発言に戻る] [過去ログ一覧]
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が必要とかそんなことですか

No. 2576 # 小僧 2002/03/15 (金) 12:26:42
お世話になります。

相変わらずiconvで困っています。
下記のように、コマンドを発行したのですが、
エラーが出てしまってiconvが出来ません。

----- コマンド発行 -----
$iconv -f shift_jis -t euc aaa

----- エラーメッセージ -----
iconv: 0791-004 コンバータがオープンできません

自分で調べたところ、必要なファイルだと思われるのは、
/usr/lib/iconvファイルだと思うのですが、
このファイルは存在しません。
もしこれが原因なら、中身のサンプルを教えていただければ幸いです。

宜しくお願い致します。

No. 2577 # 68user 2002/03/15 (金) 12:37:00
>>2576 小僧
> $iconv -f shift_jis -t euc aaa
euc という文字コードは存在しないような気がするので (ほんとか?)、
とりあえず -t euc-jp を試してみましょう。

>>2574 ふくし
> となってくれる、ということですか?
はい、そういうことです。

No. 2578 # 小僧 2002/03/15 (金) 13:51:51
>>2577 68user

>とりあえず -t euc-jp を試してみましょう。

----- 実行文 -----
iconv -f shift-jis -t euc-jp aaa

を行ってみましたが、同じ現象が発生しました。
当然の事ながら、ファイル"aaa"はきちんと存在します。

宜しくお願い致します。

No. 2579 # /tk 2002/03/15 (金) 14:25:26
>>2574 ふくし
> split /\t/, "a->b->->"
split /\t/, "a->b->->", -1
でわ?

No. 2580 # 68user 2002/03/15 (金) 16:00:03
>>2576 小僧
web で AIX のマニュアルを探してみました。
    http://publib.boulder.ibm.com/doc_link/Ja_JP/a_doc_lib/cmds/aixcmds3/iconv.htm
    http://publib.boulder.ibm.com/doc_link/Ja_JP/a_doc_lib/aixprggd/genprogc/convert_prg.htm#A197C1176
によると、AIX では euc-jp ではなく IBM-eucJP なのかもしれません。
Shift_JIS も同様に IBM-932 かもしれません。

> 自分で調べたところ、必要なファイルだと思われるのは、
> /usr/lib/iconvファイルだと思うのですが、
上記マニュアルを見ると、コンバータのファイルのありかは
    /usr/lib/nls/loc/iconv/
    /usr/lib/nls/loc/iconvTable/
と書いてあるように見えます。
# なぜ /usr/lib/iconv/ だと判断したかが第三者にわかるように書きましょう。
# 皆が AIX を使っているありませんので。

僕は AIX4.3 のマニュアルを見ましたが、あなたがお使いのバージョンが
わからないので、これが正しいかどうかはわかりません。ちゃんと OS の
バージョンを書きましょう。

>>2579 /tk
なるほど。その例では確かに -1 が必要ですね。僕は
    split /\t/, "a->->c->d" => (a,'',c,d)
のように真ん中に TAB がある例だけを試していて、気づきませんでした。

No. 2581 # q19_77 [E-mail] 2002/03/15 (金) 16:05:05
>>2573 68user
ご返答ありがとうございます。

>> 他のサーバではこの記述通りで動作しました。
>本当ですか? どうして root でもないのに、パスワードなしで
>su で他ユーザになれるのですか?
>> su - mono -s /home/mono/mno.sh
ユーザ"mono"にパスワードがないため、なぜか実行できました。

>なぜ -c でなく -s なのでしょうか?
よく分からずに指定したシェルを実行するとあったので、-s に
しました。また -c でも駄目でした。

>ちなみに FreeBSD 4.4-RELEASE では、端末がない状態で (cron 経由)
> echo PASSWORD | su root -c /usr/bin/id
>でプログラムの実行ができました。
この場合、rootのパスワードが必要かと思いますが、そこはどのように
されているのでしょうか。

>そんなことはないと思いますが、perl のバージョンは何ですか?
>perl-5.005_03 ではそのような挙動を示しませんでした。
perlのバージョンは、perl-5.6.0-12ですが、
シェルスクリプトはどちらもperlを使用しておりません。

#!/bin/sh
su - mono -s /home/mono/mno.sh 
また、
#!/bin/sh
scp /var/XYZ/123.txt abc.world.co.jp:/home/mono/123.txt
ssh abc.world.co.jp sh /home/mono/mno2.sh
と書いています。
そもそもこれが駄目なのでしょうか。

宜しくお願いします。

No. 2582 # 初心者マーク 2002/03/15 (金) 22:32:52
初めて書込みするんですけども、最近Cシェルを始めたんですが・・・
最初にログインした、IPアドレスから他のアドレスへログインする事ってできますか?

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

No. 2583 # 小僧 2002/03/16 (土) 21:52:23
>>2580 68user
返信ありがとうございます。

>web で AIX のマニュアルを探してみました。
わざわざ時間を割いていただいてありがとうございます。

># なぜ /usr/lib/iconv/ だと判断したかが第三者にわかるように
>書きましょう。
>僕は AIX4.3 のマニュアルを見ましたが、あなたがお使いのバージョン
>がわからないので、これが正しいかどうかはわかりません。ちゃんと
>OS のバージョンを書きましょう。
申し訳ございませんでした。
調べたのは「UNIX クイックリファレンス」という本です。
OSのヴァージョンは、AIX 4.3です。
次回からはきちんと記載するように致します。

お蔭様で、iconvが出来るようになりました。
本当にありがとうございました。

No. 2584 # persianopeh [E-mail] 2002/03/18 (月) 13:04:31
いつも参考にさせて貰っています。
ひとつ気づいた所があるのですが、Perlでのforkを使ったサーバプログラムの部分ですが、
親プロセスは子プロセスの終了ステータスを受けとらなければならないため、waitが必要だと思います。waitが無いと、子プロセスが終了してもdefunct状態のまま存在し続けてしまいます。
このwaitについて、下記の一行を追加するだけでうまくいきます。
$SIG{CHLD} = sub { wait };
(オライリーのらくだ本より)

以上、ご参考まで。

No. 2585 # 小僧 2002/03/18 (月) 16:26:50
お世話になります、小僧です。
連続の質問になるので、気が引けるのですが、
どうしても分からないので相談させて下さい。

AIX4.3.3 にてCDをマウントを行ったのですが、
CDのファイル名が全て小文字に変換されてしまいます。
Windowsで見ると大文字、小文字の区別がされています。

マウントを行うときに、オプション指定で
大文字、小文字を判定させる事は可能なのでしょうか?

#AIXでのマウントってちょっと特殊なんですよね?
#私が実行したマウントコマンドを記述しておきます。
#>mount -V cdrfs -r /dev/cd0 /mnt

アドバイス、お願い致します。

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