echo unicode 实际上并没有转义字符

echo unicode not actually scaping the characters

我正在尝试 运行 以下命令,理论上它应该输出一个带时钟的 Unicode 字符(因为我使用的是 NerdFont)。我知道字体可以工作,因为有一些 neovim 插件,所以我认为这不是字体支持。

命令,应该输出字体字符

$ echo -e '\uef3c'
\uEF3C
$ echo -e "\u03ea"
\u03EA
$ printf "\u03ea\n"
\u03EA

知道我还能在哪里查看并检查可能有什么问题吗?

对我有用。也许尝试 printf 而不是 echo

printf '\uef3c\n'

检查您的 locale 并检查您设置的值是否支持您的角色。如有必要,更新设置。 (您应该能够看到用 \u41 替换您的角色会打印一个 A,表明它与您的语言环境相关。)

例如,当设置为 en_US.UTF-8 时,您应该得到所需的字符,但如果设置为 C(例如),您将看到 \uEF3C.