쉘에 다음 명령을 입력하면 녹색 출력이 나타납니다.
주문하다
echo "\033[32mCONNECTING TO abpwrk\033[m";
산출(녹색)
CONNECTING TO abpwrk
그러나 작은 한 줄 스크립트에서 동일한 명령문을 사용하고 실행하면. 그런 다음 출력(흰색)을 얻습니다.
\033[32mCONNECTING TO abpwrk\033[m
스크립트에서 내가 놓친 것은 무엇입니까? 색상을 활성화하려면 몇 가지 추가 매개변수를 정의해야 합니까? k-shell을 사용하고 있습니다.
답변1
다른 구현으로 다른 쉘을 사용하고 있을 수도 있습니다 echo
. 적어도 bash
echo 구현에서는 이스케이프 시퀀스 해석이 기본적으로 활성화되어 있지 않습니다(스위치를 사용하여 활성화해야 함 -e
).
그럼에도 불구하고 printf
환경은 일반적으로 환경 간에 더 일관됩니다. 대신 다음을 사용해 보세요.
_host=abpwrk ; printf '\033[32mCONNECTING TO %s\033[m\n' "$_host"