O problema é que as comunicações em série também possuem algumas chaves definidas.
Use:
$ stty -a
speed 38400 baud; … …
swtch = <undef>; start = ^Q; stop = ^S; … … werase = ^W; …
-parenb …
Lá (dependendo das configurações do seu sistema) você deve ver:
werase = ^W
Esta é a definição stty de word-rubout como a chave ctrl W .
Basta executar:
stty werase undef
Para tornar a chave como undef
pelo ssty
controler.
Tenha cuidado com as alterações que você escolhe fazer, pois você pode tornar seu terminal inutilizável.
Em seguida, a chave estará livre para ser reatribuída pelo sistema readline
do uso do shell bash.
Para fazer a alteração ( stty werase undef
) persistir, você pode colocá-la em /etc/profile
para todos shells que usam esse arquivo (quase todos). Em /etc/bash.bashrc
para todos os shells bash ou em ~/.bashrc
para shells interativos "this user".