yash: パーサ書き直し その 2
よく考えたら、コマンド置換の外で予め定義しておいたエイリアスは、実際にコマンド置換を行うときにエイリアス置換の対象とならなければならないのだった。となるとやはり、最初にコマンド全体を解釈する際に $( ) の中も解釈することは出来ないな。
また、コマンド置換の中にヒアドキュメントがある場合も考えていなかった。
cat $(cat <<END
here-doc in command substitution.
END
) <<END
here-doc
END
以下はシェルによって挙動が異なる例:
cat $(cat <<END) <<END
here-doc
END
| 固定リンク
コメント