Esses caracteres são sequências de controle que mudam de cor. Essas seqüências não funcionam no emacs *shell*
buffers: elas são exibidas quase diretamente.
Você deve alterar o arquivo de inicialização do shell (provavelmente ~/.bashrc
) para que ls
use cores apenas nos terminais que os suportam. Na prática, é provável que isso signifique em todos os tipos de terminal diferentes de dumb
(que é o tipo de terminal fornecido em *shell*
buffers). O tipo de terminal é indicado na variável de ambiente TERM
, então você pode fazer algo assim:
if [ "$TERM" != "dumb" ]; then
alias ls='ls --color=auto'
fi