[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
////////////////////////////////////////////////