1解説このコードの肝となっているのが、ブレース展開というBashが持つ機能です。ブレース展開とは、例えば次のようなものです。wa{n..m}(n,mは自然数)とすると、このブレースはコマンド実行時にnからmまでの自然数の数列に展開され、2つの目の例のようにコンマ区切りで要素を並べたものはそれら要素を半角スペースでつなげた文字列に展開されます。このブレースの前後に文字列をくっつけると、数学の世界で$a(m+n)$が$a×m+a×n$になる分配法則のように、文字列が展開されます。ところでコンマ区切りで並べた要素は二つ目の例で見たように、空の文字列でも構いません。yesというようになります。このことを利用すると同じ文字列をコンマの数+1ぶん作ることができます。パスカルの三角形の計算方法はいくつかありますが、一番初歩的なのは隣接する項同士の和を頂点から順々に計算していくという方法でしょう。この計算をawkで書いたものが次のコードです。1すなわちこのawkのコードをm回適用するとパスカルの三角形のm段目の数値が計算できるというわけです。何回も同じコードを書くのはあまりきれいじゃないですし、コピペするのも大変ですからここで先程お話ししたブレース展開を用います。'{上に同じ}'"{,,,}と書いて、"コマンド"{,,,}の部分をBashによって展開してもらおうという話です。この部分を展開する方法はいくつかあるのですが、いちばんスッキリと書けるのはevalコマンドを用いる方法です。evalもBashの機能の一つですが、このコマンドに文字列を食わせるとコマンドとして実行できる部分やブレース展開のように展開できる部分を展開してくれます。'{上に同じ}'"{,,,}といったコードを実行すると、まずevalコマンドによりeval以降の文字列(すなわち$(2)$)が評価され、$(1)$のコードが返り、それがBashによって解釈され実行されます。このようにブレース展開をうまく駆使すると、最初に掲げたようなワンライナーでパスカルの三角形をシェル上に表示させることができます。"コマンド列"{,,,}というイディオムを覚えておくといつか役に立つときがあるかもしれません(笑)。