I can't type a “b” when I'm in the command line

Update

I can't even paste a b. I am trying to upgrade to Ubuntu 15.04 but I need to delete some files in the /boot directory. When I cd /oot I can't type a b. So, I thought, I will list the files in the / directory and copy/paste, but to no avail. I can't even paste a b.

Update 2

I recently added some lines to the /etc/inputrc file in order to get better tab auto-completion:

set completion-ignore-case on
set show-all-if-ambiguous on
TAB: menu-complete
bind TAB:menu-complete

Original Question

When I ssh into my ubuntu server I can't type the letter "b". I can however type a capital "B" using either shift keys.

I'm using a MacBook Pro with Retina display from 2012, and I'm ssh-ing into a custom built ubuntu box. It is here that I can't type a lower case "b".

I have restarted the server and yet I still can't type a "b". Every other letter is fine.

It hasn't done that before, I've had the server up and running for about two years and haven't come across an issue like this before. I also haven't done anything notable to cause it to do that.

At first I thought the keyboard was a little sticky but when I closed the connection it works fine. I've restarted the server, ssh'd back in and the "b" key stops working again.

I've tried my bluetooth keyboard and still no luck.

Could this be something that is a rule in a .profile or .bashrc file or something similar? A setting to not allow certain characters.

When I try to type the letter "b" I get the terminal bell sound as if it is not allowed.


Inside the ssh session, start a cat command and see whether you can type b there. I'm almost sure it'll work, which means that it's your shell that decides not to act on b.

Assuming the default bash, you should check readline's configuration files: ~/.inputrc, /etc/inputrc, or the one referred by $INPUTRC. Chances are you'll find an accidental lone b on its own line (or something similar), instructing readline not to do anything upon encountering this character.

Update

Looks to me that the first three lines of your .inputrc are correct, it's the fourth line (bind TAB:menu-complete) causing the trouble. Change its first letter to anything else (e.g. find instead of bind) and then that letter (e.g. f) will misbehave. Apparently bind is not a recognized keyword in this context.


TAB: menu-complete
bind TAB:menu-complete

Should just be

TAB:menu-complete