Когда я запускаю простой сценарий оболочки со следующим кодом:
#!/bin/sh
printf "\e[32m Hello World\n"
я получил
\e [32m Hello World
в качестве вывода, в отличие от зеленого вывода Hello World.
Когда я запускаю простой сценарий оболочки со следующим кодом:
#!/bin/sh
printf "\e[32m Hello World\n"
я получил
\e [32m Hello World
в качестве вывода, в отличие от зеленого вывода Hello World.
printf не понимает \e ; вам нужно использовать \033 . Обратите внимание, что printf также является встроенным в bash ; у него есть расширения GNU, включая \e , но если вы не потребуете, чтобы ваш скрипт запускался /bin/bash вы обычно получаете POSIX.