1

Когда я запускаю простой сценарий оболочки со следующим кодом:

#!/bin/sh 
printf "\e[32m Hello World\n"

я получил

\e [32m Hello World

в качестве вывода, в отличие от зеленого вывода Hello World.

1 ответ1

5

printf не понимает \e ; вам нужно использовать \033 . Обратите внимание, что printf также является встроенным в bash ; у него есть расширения GNU, включая \e , но если вы не потребуете, чтобы ваш скрипт запускался /bin/bash вы обычно получаете POSIX.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .