I was somewhat surprised and miffed to find that this does not work. I found old correspondence about this issue on the bash-bugs mailing list [1] but it was hardly an exhaustive discussion. [1]: http://lists.gnu.org/archive/html/bug-bash/2006-03/msg00063.html To my mind, in particular the non-POSIX $'\x00' syntax could impossibly be used in scripts which do not run Bash. It's not entirely clear to me what the logic should be here; if the builtin echo really cannot support this, then perhaps a warning message would be appropriate. As noted in the 2006 discussion, a (portable!) workaround is to use printf instead.