Inserindo caracteres UTF-8 no Bash CLI

1

Eu tenho uma listagem de diretórios com arquivos como:

drwxr-xr-x   2 nobody nogroup       4096 2011-01-11 21:06 Капкан
drwxr-xr-x   3 nobody nogroup       4096 2011-11-17 08:40 СБПЧ

Quando copio / colo ou insiro diretamente esses nomes de arquivos no prompt, espero poder trabalhar com eles exatamente como as letras do Latin-1.

Em vez disso, obtenho resultados como:

# Pasting "Капкан"
$ :?апкан 

Você vê a primeira letra é substituída por " :? ". Então, não consigo percorrer os caracteres à esquerda, exceto excluindo-os. Entrada baseada em teclado produz os mesmos resultados. tmux ou screen yank / paste produz os mesmos resultados.

Não sei como diagnosticar esta situação! Esta é uma distribuição muito antiga do Debian ( $ uname -a Linux weezy 2.6.37.6.RNx86_32.1.4 #1 Thu Jul 26 04:49:29 PDT 2012 i686 GNU/Linux ), mas eu ainda acho que há uma maneira de fazer com que os nomes de arquivos UTF-8 se comportem como eu esperava.

Estou usando Terminal.app e TERM do OS X como xterm-color .

Eu acredito que esses nomes de arquivos são codificados usando UTF-8. Estou usando o Bash 3.1.17 e aqui está minha saída de locale :

$ locale
LANG=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=en_US.utf8

Aqui está minha saída de $ locale -a :

C
de_DE.utf8
en_US.utf8
ja_JP.utf8
ko_KR.utf8
nl_NL.utf8
POSIX
zh_CN.utf8
zh_TW.utf8

Eu consideraria a instalação de ru_RU.UTF-8 de /etc/locale.gen , mas também estou tendo problemas com caracteres latinos básicos, como á .

    
por Dmitry Minkovsky 19.08.2013 / 18:45

1 resposta

2

Como nos comentários acima, a definição de Terminal.app Escape non-ASCII characters parece ter resolvido o problema. Embora eu fique confuso com a direção em que o movimento foi necessário para fazer isso funcionar corretamente.

    
por 19.08.2013 / 20:06

Tags