パーサの修正
コマンドの解析方法に問題があることが発覚したのでまずそれをやっつけることにする。
問題は $( ) で囲んだコマンド置換の中で ) を含むコメントやヒアドキュメントが正しく解釈できないこと。コメントやヒアドキュメントの内容に ) が出てきた時点でコマンド置換の終わりだと認識してしまうため。
echo $(cat <<END
a here-doc with )
END
)
bash や zsh にも同様の問題がある。
` ` で囲んだコマンド置換の中に ` が出てくる場合も正しく解釈できないことがあるが、これは出来なくてもよいことになっている筈なので放っておく。
| 固定リンク
コメント