Thank you for your reply. Well, the metacharacter '!' is used to refer to the history of the commands.
So, for example, if you did ls -a, then followed it by rm *, then did echo $PATH, then !l (!-el) would be the same as the last command beginniing with "el" i.e. ls -a, !r would be rm * and !e would be echo $PATH.
I just don't know why echo "!l" is interpreting !l as a shell command!!! Surely it shouldn't when I double quote it.
Yes, escaping it with a backslash DOES work (i.e. "\!l" does work), but I don't see why we have to backquote ! when it is already is double quote! After all, we can do echo "ls ", and don't have to do echo "ls \".