Используйте printf
(что является стандартом Posix) вместо нестандартного echo -e
:
red='\033[0;31m'
color_off='\033[0m'
printf "${red}%s${color_off}\n" "updating wp core"
wp core update
То же самое относится к echo -n
.
Posix не указывает никаких параметров командной строки для echo
, а Posix-совместимый echo
просто выводит все свои аргументы дословно, включая те, которые выглядят как параметры командной строки.
общие (но не универсальные) расширения для echo
действительно могут помешать: не существует переносимого способа их использования или подавления (например, если вы хотите вывести что-то, начинающееся с -e
, например).
Лучше придерживаться printf
, который встроен в большинство оболочек, имеет стандартизированное поведение и который легко расширяется.