Monthly Archives: July 2011

Solaris and echo

OK, most UNIX programmers are familiar with the echo command. It just takes input and writes it back out again – pretty simple, right? WRONG. Solaris has at least one shell, it seems, that has a version of echo with epic bugs. For instance, here’s what it does when you give it the -n flag, which tells it not to print a newline after echoing the input:

$ echo -n "I love Solaris"
-n I love Solaris

Yes, instead of either ignoring the -n flag, or even throwing an unrecognized option error, it echos the flag to the screen! This is quite possibly the worst behavior I’ve ever seen in a core UNIX utility. Also, notice that it printed a newline, like I asked it not to? That broke autoconf, since my version number in my AC_INIT call ended up with a newline in it, and strings with random newlines in them don’t compile too well in C…

I also found yet another bug in Solaris echo just Googling out of curiosity. Turns out that the -e flag is also unsupported! Whoever is responsible for maintaining this code, can you please bring it up current with early 1990’s echo functionality? Thank you.