Bash変態文法最速マスター? 改め bashのプロセス置換

hirasawa@aspire-blue2:~$ echo <(ls) <(ls)
/dev/fd/63 /dev/fd/62
hirasawa@aspire-blue2:~$ 

ってどゆ理屈?
ってしらべてて見つけたサイト一覧


Bash変態文法最速マスター?
https://sites.google.com/a/tatsuo.jp/programming/Home/bash/hentai-bunpou-saisoku-masuta


マサカさんのブログにヒットしたw
http://emasaka.blog65.fc2.com/blog-entry-708.html

基礎文法最速マスター
http://wiki.onakasuita.org/pukiwiki/?%E5%9F%BA%E7%A4%8E%E6%96%87%E6%B3%95%E6%9C%80%E9%80%9F%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC


結局 echo <(ls)はわからんw

(以下追記 2012/12/18)

 ごぶさたです > マサかさん

[hirasawa@localhost ~]$ echo <(ls)
/dev/fd/63

ここを出発として小学生レベルの試行錯誤
 まずは < と ( を離してみた

[hirasawa@localhost ~]$ echo < (ls)
bash: 期待してない token `(' のあたりにシンタックスエラー

結果は、シンタックスエラー

つづいて

[hirasawa@localhost ~]$ echo <( ls )
/dev/fd/63
[hirasawa@localhost ~]$ echo <( ls; )
/dev/fd/63

ああ、なるほど、そゆことデスカ。

マサかさんの説明を自分なりにかみくだいてみると、<( command ) はcommandの実行結果がfile(fd)のように見えるってことかな?かな?ってのはなんとなくわかった。

LINUXクイックリファレンス(2nd Edition)とか幾つか本棚から引っ張り出してみたがbash,cshあたりをみても載ってない。

とおもっていたら、
man bash | grep -A 10 -B 10 "<(" とかでみつけられた。(あほでした)

   プロセス置換
   プロセス置換 (process substitution) がサポートされるのは、
  名前付きパイプ (FIFO) または名前付きオープンファイルの
  /dev/fd メソッドをサポー トしているシステムです
  これは <(list) または >(list) の形になります。
  プロセス list は、その入力や出力が FIFO または /dev/fd 中の何らかのフ ァ
       イルに接続された状態で実行されます。

プロセス置換か