Linux/Ubuntu2010. 2. 5. 20:32
doesn't work ansi escape sequence on ubuntu makefile(make)


$ cat test.sh
#!/bin/bash
echo -e '\E[47;34m'"\033[1mTest\033[0m"

$ cat test.sh
#!/bin/sh
echo -e '\E[47;34m'"\033[1mTest\033[0m" 

위의 결과는 아래의 소스대로, 쉘이 바뀌었다는것 밖에 차이가 없다.
결과는 sh에서 실행된것은 "-e \E[47;34m" 까지 출력되었다.
아마, 우분투의 make 시에 색상이 먹지 않는건 makefile이 기본 쉘로  /bin/sh를 쓰면서
안시 이스케이프 시퀀스가 오작동 한것으로 보인다.

해결방법은 makefile 내에
SHELL=/bin/bash 를 추가하는 것이다.
Posted by 구차니

댓글을 달아 주세요