No bash no RHAS4, por que pressionar a opção toggle delete em vez de excluir?

1

Eu tenho uma antiga caixa RedHat que eu tenho que fazer algum trabalho:

$ lsb_release -a
LSB Version:    1.3
Distributor ID: RedHatEnterpriseWS
Description:    Red Hat Enterprise Linux WS release 4 (Nahant Update 7)
Release:        4
Codename:       NahantUpdate7

Estou tendo sérios problemas com o prompt do shell. (bash) Em particular, se eu digitar o seguinte na linha de comando:

$ abcdefghijklmnopqrstuvwxyz

... então, se eu voltar para o caractere m , por exemplo, e pressionar Delete , obtenho o seguinte:

$ abcdefghijkLMNopqrstuvwxyz

(Mas fica pior. Se eu flecha em torno de mais , ele só vira uma letra de cada vez.)

Eu comparei minhas configurações de stty com uma máquina Ubuntu onde ela funciona bem, e não vejo nenhuma diferença significativa. Eles são os seguintes:

$ stty -a
speed 38400 baud; rows 58; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff
-iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Isso está me deixando louco. Há mais alguma coisa que eu deveria procurar? O que poderia estar causando isso?

    
por mpontillo 30.10.2009 / 16:21

2 respostas

4

Faz todo o sentido agora ...

Havia uma linha perdida na .profile minha empresa usa, pois muitas pessoas ainda usam ksh :

set -o vi

Bem, adivinhe o que acontece em vi se você digitar ~ ? Isso mesmo, troca o caso! E adivinhe o que acontece se você digitar 3~ ? Troca o case de 3 caracteres! (Embora eu ainda não tenha certeza agora para explicar o comportamento inconsistente onde às vezes ele troca um e às vezes troca 3 ...)

De qualquer forma, remover o set -o vi do meu .profile resolveu o problema.

    
por 30.10.2009 / 17:20
1

Existe um arquivo .inputrc em seu diretório pessoal? Se não, tente criar um com este conteúdo:

"\e[3~": delete-char

Se houver tal arquivo, talvez ele faça algo que não deva fazer?

    
por 30.10.2009 / 16:27