[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:03885] tcsh bug ?(with glibc2.1)



別件でごそごそやってるウチに気がついた問題ですが、どうも Plamo 2.0αの 
tcsh は glibc2(.1) だとファイル名をうまく展開できないことがあるようです。

具体的な問題は、以下の通りです。

tcsh はこういうバージョンです。
kojima@typhoon# echo $version
tcsh 6.08.05 (Astron) 1999-05-11 (i386-intel-linux) options 8b,nls,dl,al,kan,rh,color,dspm

今、手元にこういうファイルがあります。

kojima@typhoon# ls
mgp00001.gif  mgp00006.gif  mgp00011.gif  mgp00016.gif	mgp00021.gif
mgp00002.gif  mgp00007.gif  mgp00012.gif  mgp00017.gif	mgp00022.gif
mgp00003.gif  mgp00008.gif  mgp00013.gif  mgp00018.gif
mgp00004.gif  mgp00009.gif  mgp00014.gif  mgp00019.gif
mgp00005.gif  mgp00010.gif  mgp00015.gif  mgp00020.gif

これを wildcard(*)で展開した場合は問題ないのだけど、

kojima@typhoon# ls mgp0000*.gif
mgp00001.gif  mgp00003.gif  mgp00005.gif  mgp00007.gif	mgp00009.gif
mgp00002.gif  mgp00004.gif  mgp00006.gif  mgp00008.gif

範囲指定で展開([ ])すると、こういう風になってしまう。

kojima@typhoon# ls mgp0000[0-9].gif
mgp00003.gif  mgp00006.gif  mgp00009.gif

# 当然 mgp00001.gif とか mgp00002.gif も対象になるはずだよね

foreach で展開した時も表示の順番がおかしくなる。

kojima@typhoon# foreach i (mgp*)
foreach? echo $i
foreach? end
mgp00003.gif
mgp00006.gif
mgp00009.gif
mgp00001.gif
mgp00004.gif
mgp00007.gif
mgp00008.gif
mgp00005.gif
mgp00002.gif
mgp00010.gif
mgp00013.gif
mgp00016.gif
mgp00019.gif
mgp00011.gif
mgp00014.gif
mgp00017.gif
mgp00018.gif
mgp00015.gif
mgp00012.gif
mgp00020.gif
mgp00021.gif
mgp00022.gif

# 順番が 3 -> 6 -> 9 -> 1 -> 4 -> 7 -> 8 -> 5 -> 2 -> 0 というのに意味があるのかな?

範囲指定でも一部しか表示されない。

kojima@typhoon# foreach i (mgp0000[0-9].gif)
foreach? echo $i
foreach? end
mgp00003.gif
mgp00006.gif
mgp00009.gif

libc5 の環境ではこの問題は出ないようなので、glibc2(.1) の dirent 回り
の変更が影響している問題のようにも思うのですが、何か御存知の方います?

# Red Hat 6.0 とか他の glibc2(.1)ベースの distribution だとどうなるのか
# チェックしてもらえれば助かりますです。

--------
こじま

Follow-Ups
[plamo:03886] Re: tcsh bug ?(with glibc2.1), fb9c-hgc
[plamo:03887] Re: tcsh bug ?(with glibc2.1), fb9c-hgc
[plamo:03891] Re: tcsh bug ?(with glibc2.1), fb9c-hgc

[検索ページ] [メール一覧]
Plamo ML 公開システム