As described in the Application Usage section of the POSIX description of the echo command, the
-n option and escape sequences are not very portable (due to different support in the various branches of the Unix family tree).
printf command (which, like echo, is also builtin to most shells, and available as an external command) is more reliably standardized (though the syntax is not the same; e.g. you need to watch for
% in the first argument, and multiple arguments are not automatically joined with a space):
printf 'Some text \e[0;32m in color \e[0m no more color\n'
printf '%s \e[0;32m%s\e[0m %s\n' 'Some text' 'in color' 'no more color'