2013-04-15 5 views
9

강타, 당신은 진수 코드로 printf을 사용할 수 있습니다인쇄 유니 코드 문자

\xHH byte with hexadecimal value HH (1 to 2 digits) 
\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) 

$ printf '\u0026' 
\u0026 

내 배쉬 버전을 예상대로 유니 코드 예제는 인쇄되지 않습니다 그러나 예를

$ printf '\x26' 
& 

$ echo $BASH_VERSION 
4.1.10(4)-release 

답변

7

bash의 버전은 (echo $BASH_VERSION 또는 bash --version)입니까? 유니 코드 이스케이프는 bash 4.2에서 작동하지만 3.2.48에서는 작동하지 않습니다. 지원이 bash 4.0에 추가 된 것으로 판단됩니다.

업데이트 : bash에서 작동하지 않는 것으로 확인할 수 있습니다. 4.1.2. 이 기능은 bash 4.2에 추가 된 것으로 보입니다.

업데이트 2 :

D 다음 release notes for bash 4.2에서. $'...', echoprintf\uXXXX\UXXXXXXXX은 시퀀스를 나타냅니다.

+0

이전 버전에서는 ** % printf "% s" "%"**를 사용하여 ** % ** 기호를 인쇄해도 괜찮습니까? –

+1

나는'printf "%%"뿐만 아니라 괜찮을 것이라고 생각한다. – chepner

+0

감사합니다. 작동합니다. –