The behavior of echo varies considerably from system to system, shell to shell, and with various environment variable settings when there are any backslash ( \ ) characters in any of the arguments and when the 1st character of the 1st argument is a minus sign ( - ) character. Using printf instead of echo in these conditions will prevent lots of headaches later if you ever move to a different environment or if some other user with a different shell or environment variables tries to use your code.