使用Bash,您可以将printf
与十六进制代码
\xHH byte with hexadecimal value HH (1 to 2 digits)
\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)
例如
$ printf '\x26'
&
但Unicode示例未按预期打印
$ printf '\u0026'
\u0026
My Bash版
$ echo $BASH_VERSION
4.1.10(4)-release
答案 0 :(得分:7)
您使用的是什么版本的bash
(echo $BASH_VERSION
或bash --version
)? Unicode转义在bash
4.2中有效,但不在3.2.48中。我怀疑在bash
4.0中添加了支持。
更新:我可以确认它在bash
4.1.2中无效。此功能似乎已添加到bash
4.2。
更新2:来自release notes for bash 4.2:
d。
$'...'
,echo
和printf
了解\uXXXX
和\UXXXXXXXX
序列。