스크립트를 사용하여 컬러 텍스트 인쇄

스크립트를 사용하여 컬러 텍스트 인쇄

쉘에 다음 명령을 입력하면 녹색 출력이 나타납니다.

주문하다

echo "\033[32mCONNECTING TO abpwrk\033[m";

산출(녹색)

CONNECTING TO abpwrk

그러나 작은 한 줄 스크립트에서 동일한 명령문을 사용하고 실행하면. 그런 다음 출력(흰색)을 얻습니다.

\033[32mCONNECTING TO abpwrk\033[m

스크립트에서 내가 놓친 것은 무엇입니까? 색상을 활성화하려면 몇 가지 추가 매개변수를 정의해야 합니까? k-shell을 사용하고 있습니다.

답변1

다른 구현으로 다른 쉘을 사용하고 있을 수도 있습니다 echo. 적어도 bashecho 구현에서는 이스케이프 시퀀스 해석이 기본적으로 활성화되어 있지 않습니다(스위치를 사용하여 활성화해야 함 -e).

그럼에도 불구하고 printf환경은 일반적으로 환경 간에 더 일관됩니다. 대신 다음을 사용해 보세요.

_host=abpwrk ; printf '\033[32mCONNECTING TO %s\033[m\n' "$_host"

관련 정보