예쁘게 출력하기?
터미널에 뭔가 출력할 때, ANSI Escape Code를 통해 글자나 배경에 색을 입히는 등의 효과를 줄 수 있습니다.
이렇게 테스트 결과가 원하는 부분만 강조돼서 나온다면 참 좋겠죠?
printf '예를 들면 \033[0;33m이렇게\033[0m요.\n'
Shell
복사
노란 글자를 출력하는 쉘 스크립트 예시
문제점!
단순히 ANSI Escape Code로 글자를 꾸미는 데에는 약간의 문제가 있습니다.
파일에는 예쁘지 않게 출력되는 문제점…
그것은 바로… 파일로 저장했을 때 예쁘지 않다는 점입니다!
해결 방법
이 문제는 아주 단순히 해결할 수 있습니다.
[ -t 1 ]을 통해 문제를 해결한 모습
바로 [ -t (fd) ]를 통해 출력할 fd가 터미널인지 확인하는 것입니다.