I find the beep useful for some things, so I only want to turn it off for tab completion (I'm not asking how to completely turn it off, that has already been answered in a different question on Serverfault). I also don't have root access, working on RHEL5.

  • 1
    there is an option for that in zsh, but not possible in bash I think. – user80903 Aug 15 '14 at 1:59

Readline library has bell-style variable:

Controls what happens when Readline wants to ring the terminal bell. If set to ‘none’, Readline never rings the bell. If set to ‘visible’, Readline uses a visible bell if one is available. If set to ‘audible’ (the default), Readline attempts to ring the terminal’s bell.

So you can put into your ~/.inputrc file following line:

 set bell-style none
  • 4
    If you want this setup to be default for all users of the system, you can edit /etc/inputrc config file with root user. – Can Kavaklıoğlu Aug 12 '15 at 8:28
  • you saved my life today – Asalle Oct 18 '18 at 6:37

I'm not aware of any way to disable the tab completion bell in bash (aside from disabling the bell entirely or changing it to the subjectively-more-annoying visual bell).

You could try set show-all-if-ambiguous on in your ~/.inputrc - this makes the shell show the list of matching commands/items immediately when you hit tab instead of waiting for you to hit tab twice.
A side effect is that there is no bell before the candidate matches are shown.


In ~/.inputrc, there exists the following possibility, but it didn't do anything for me. It just rings the bell. This may be a bug in the Cygwin bash.

set bell-style visible

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.