eval in bash vs macro in lisp



I don't understand LISP macro well but happen to do bash programming
often.

Given some parameters, I can use ``eval'' to create functions on the fly.

Are there some similarities between the two, in concept? What are the
major differences?

Thank you.
Wei
.