Когда я запускаю простой сценарий оболочки со следующим кодом:
#!/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.