Você pode usar o eco do bash ou o / bin / echo do GNU coreutils em combinação com o iconv:
echo -ne '\x09\x65' | iconv -f utf-16be
Por padrão, o iconv converte em sua codificação de locales. Talvez mais portável do que depender de um comando específico de shell ou eco seja o Perl. A maioria dos sistemas UNIX que conheço tem Perl disponível e até tem várias portas Windows.
perl -C -e 'print chr 0x0965'
Na maioria das vezes, quando preciso fazer isso, estou em um editor como o Vim / GVim, que tem suporte integrado. Enquanto estiver no modo de inserção, pressione Ctrl-V seguido por u e digite quatro caracteres hexadecimais. Se você quiser um caractere além de U + FFFF, use um U maiúsculo e digite 8 caracteres hexadecimais. O Vim também suporta personalizações fáceis de criar mapas de teclado. Converte uma série de caracteres em outro símbolo. Por exemplo, eu tenho um mapa de teclado que desenvolvi chamado www, ele converte TM para ™, (C) para ©, (R) para ® e assim por diante. Eu também tenho um mapa de chaves para o Klingon para quando isso for necessário. Tenho certeza que o Emacs tem algo parecido. Se você estiver em um aplicativo GTK + que inclui o GVim e o Terminal GNOME, você pode tentar Control-Shift-u seguido de 4 caracteres hexadecimais para criar um caractere Unicode. Tenho certeza que o KDE / Qt tem algo parecido.
ATUALIZAÇÃO: A partir do Bash 4.2, parece ser um recurso embutido agora:
echo $'\u0965'
UPDATE: Além disso, hoje em dia, um exemplo do Python provavelmente seria preferido ao Perl. Isso funciona no Python 2 e 3:
python -c 'print(u"\u0965")'