河野真治 @ 琉球大学情報工学です。

In article <061030010415.M0101535@osabishi.ics.nara-wu.ac.jp>, nide@ics.nara-wu.ac.jp (NIDE Naoyuki) writes
> そりゃ乱暴な。でも、元記事の人の環境ならshがbashなことを仮定してもいいの
> かな。よく知りませんが…

またまた...今回は、bash と明記されているので、こだわる必要は
ないんですけどね。

珍しく man bash で見つかったけど、ここでRTFMというのは、
不粋だろうな。

>   但し、shoptはその行が構文解析されてから実行されるので、
> 
> shopt -s extglob; [[ ababcdabx == *(ab|cd)x ]] && echo ok
> 
> ではだめ。

知っている人は、「なるほど」と納得するわけなんだけど、bash 
らしい、adhoc な拡張/実装ですね。僕だったら、hoge =~ "(ab|cd)*"
みたいな仕様にして逃げるだろうけど。

zsh だと、
                                 
 setopt EXTENDED_GLOB
 if [[ $foo = (a|an)' '(#b)(*)' '* ]]; then
   print ${foo[$mbegin[1],$mend[1]]}
 fi

などという例があるなぁ。default で入れておくか... 

そういえば、zsh に移った理由の一つが [^a-z] が使えること
だったはず。その割りには使ってない。そんなものだ。

---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科