[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:05952] Re: ndtpd2.0 のスクリプトと bash2.02
永井@シリウスです。
>>>>>> "Ken N." <kenn@xxxxxxxxxxxxxxxxx> wrote:
kenn> 要点としては、
kenn> o shとして起動された時の話である。つまり、POSIX2コンプライアント
kenn> であるのかどうかの確認
kenn> o non-interactiveなshでCDPATHの機能はそもそも有用なのか
kenn> o cdの引数に指定されたディレクトリがカレントディレクトリに存在
kenn> しているにもかかわらず、CDPATHの方が優先されるのは正しい動作
kenn> なのか
kenn>
kenn> といったところですね。Mr.Chet RameyはちゃんとPOSIX2見ながらbash
kenn> 作ってるので、このあたりは明確に回答してくれると思います。
kenn>
kenn> 2.02がDebian本家でPackagingされているのなら、DebianのBug Tracking
kenn> systemに投げてそちらで問題の切り分けをしてもらうべきでしょうが、
kenn> 今回は御自分でコンパイルされたそうですから、やはりbashbugでしょう。
kenn> 報告の内容は、大元のご質問記事の末尾に既にながいさん御自身が現象を
kenn> まとめられていますので、それをがんばって英訳してしてください;-)
え〜、何も知らずにbusbugで投げたら、gnu.bash.bugに入ってました(笑)。
bashbugってnewsにポストするんですか?(←なんにもわかっていない私)
まあそんなどうでもいいこと(ってわけでもないですが)はさて
おき、一応解決をみたようなので御報告いたします。
gnu.bash.bug にて、Chet Ramey氏より、この件に関するパッチが
公開されていました。短いので載せちゃいます。
*** ../bash-2.02/builtins/cd.def Tue Mar 17 13:50:51 1998
--- builtins/cd.def Wed Apr 22 13:34:17 1998
***************
*** 277,282 ****
/* POSIX.2 says that if `.' does not appear in $CDPATH, we don't
try the current directory, so we just punt now with an error
! message if POSIXLY_CORRECT is non-zero. */
! if (posixly_correct)
{
builtin_error ("%s: %s", dirname, strerror (ENOENT));
--- 277,284 ----
/* POSIX.2 says that if `.' does not appear in $CDPATH, we don't
try the current directory, so we just punt now with an error
! message if POSIXLY_CORRECT is non-zero. The check for cdpath[0]
! is so we don't mistakenly treat a CDPATH value of "" as not
! specifying the current directory. */
! if (posixly_correct && cdpath[0])
{
builtin_error ("%s: %s", dirname, strerror (ENOENT));
意味はよくわからんのですが(だいたい私の英語でfollow-upが
きたのが不思議なんですから)、本来POSIXモードではCDPATHに
「.」が指定されていなければ、カレントディレクトリは見ない、
ということになっているようです。で、その関連で問題があるよう
です(自信がない)。CDPATHって、POSIXモードでも有効だったん
ですね・・・あとで IEEE 1003.2 の資料でも漁ってみようかと
思います。
kenn> = しばらくは大きいままで我慢しようかな。
kenn>
kenn> うん、そのほうがいいかもしれません。
kenn>
kenn> 私のbo boxはせいぜい200程度のpackageしか入っていない質素な
kenn> ものですが、ちょっと気になって調べて見ました。
kenn>
kenn> find /usr/bin -type f -print -exec ldd {} \; 2>/dev/null | egrep '^/usr/bin|readl'
kenn>
kenn> 結果としては、/usr/bin/ftp, /usr/bin/pftp, /usr/bin/ncftp, そして
kenn> わすれちゃいけない /usr/bin/gdb がreadlineを使っています。たぶん
kenn> libhistoryも使っているでしょう。特にgdbに対する影響が懸念されます
kenn> から、私も躊躇すると思います。
ひえええ、恐ろしいので我慢することにします。(^^;
ええと、バグであるならばそのうち本家にもpatchが上がって来るものと
思います。取り敢えずきちんとした解決がみられたようなので、すっきり
した気分で今日は床につくことができそうです。
数々の的確なご意見、ありがとうございました。
# bashとは関係ありませんが、実は気になってたんですが、
# Ken N. さんのメールのサブジェクトは、JISで直接
# 入って来てるんでしょうか?(mewのメインウインドウで
# 化けてしまうものですから・・・)
////////////////////////////////////////////////
Toyohiko Nagai <nagai@xxxxxxxxxxxx>
PGP Key fingerprint
F2 40 A5 42 F6 49 65 FF 09 B0 B3 77 5F 2A F6 F7
////////////////////////////////////////////////