의 readline 라이브러리는 받아 \001와 \002(ASCII의 SOH 및 STX 인쇄 할 수없는 텍스트 구분 기호로). readline 을 사용하는 모든 응용 프로그램에서도 작동합니다 .
에서 lib/readline/display.c:243의 bash는 소스 코드 :
243 /* Current implementation:
244 \001 (^A) start non-visible characters
245 \002 (^B) end non-visible characters
246 all characters except \001 and \002 (following a \001) are copied to
247 the returned string; all characters except those between \001 and
248 \002 are assumed to be `visible'. */
bash는 특이 \[하고는 \]사실에 번역 \001과 \002에서 y.tab.c:7640.
참고 : 사용하는 경우 bash는 의를 printf하거나 echo -e, 당신의 텍스트가있는 경우 \001또는 \002즉시 번호 앞에, 당신은 칠 것이다 배쉬 진수 이스케이프 처리 할 때이 한 자리에서 너무 많이 먹는 원인이 버그 - 즉, \00142진수로 해석됩니다 올바른 8 진수 01 (ASCII "42") 대신 014 (ASCII "2")가옵니다. 이러한 이유로 16 진수 버전 \x01을 \x02사용하십시오.
echo -e "\001\e[31m\002RED"예상대로 작동합니다. 감사!