長南です。 以下は憶測ですけれど。 紹介した二番目の記事にこんなことが書いてあります。 ・ Your operating system’s readline library sometimes emits a ^[[?1034h escape code to switch on 8bit character display when initialized. あるいは、あらいさんの > ゴミはインタラクティブに起動させたためにターミナルに制御コードを送っ > たように思われますし というご意見が正しいのかもしれません。つまり、"^[[?1034h" は i オプションを付けたために bc が出しているのかもしれない。readline ではなく。 いづれにしろ、もう一度二番目の Web の記事を引くと、 ・ One of the things needed for the problem to occur: your TERM environment variable must be set to xterm. Either linux or vt100 is fine ... 問題が起きる場合をもう少し厳密に言うと、環境変数 TERM が指している 端末の terminfo で smm=\E[?1034h が指定されている場合ということに なると思います。その場合に、それが readline であれ、bc であれ、 ある条件で "^[[?1034h" を出力するのではないか。 というわけで、 > でも、Vine 6.2の端末(gnome-terminal)からVine 4.2にログインして前掲の > スクリプトを実行するとエラーにはならないので、端末のせいだけではない > ようには思います。 これは、スクリプト中で実行されているのが、Vine 4.2 の bc であり、 その bc は (あるいは readline は) Vine 4.2 の xterm の terminfo を 参照するからではないでしょうか。Vine 4.2 の xterm の terminfo には、 smm=\E[?1034h の指定がありません。 当方で試してみましたが、紹介した記事に出ている二つの対策は、どちらも 有効でした。つまり、環境変数 TERM を xterm 以外にしても OK でしたし (たとえば、スクリプトの二行目に TERM=linux と書くとか)、xterm の teminfo ファイルをテキストに落とし、smm=\E[?1034h を削除してから (三番目の記事では rmm=\E[?1034l も削除しています) バイナリに作り 直しても、スクリプトは問題なく実行できました。 -- 長南洋一 _______________________________________________ vine-users mailing list vine-users@xxxxxxxxxxxxxxxxxxxx http://listserv.linux.or.jp/mailman/listinfo/vine-users