Seems that bash interprets exclamation points as syntax, not as part of the
password. So I can't use samba unless I change the password and remove "!" from it.
This is a bash issue, not a Samba bug.
$ smbclient //localhost/public -U 'jerry%test!'
Domain=[FARSCAPE] OS=[Unix] Server=[Samba 3.1.2pre1-SVN-build-5829]