Bash does not honor ~/.inputrc

bashterminal

under the latest macos

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.15.6
BuildVersion:   19G73

i am using the latest bash (installed via brew)

$ $SHELL --version
GNU bash, version 5.0.18(1)-release (x86_64-apple-darwin19.5.0)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

and bash is defined as the default shell (chsh -s /usr/local/bin/bash + reboot)

$ which $SHELL
/usr/local/bin/bash

$ cat /etc/shells | tail -n 1
/usr/local/bin/bash

to customize bash, i have ~/.inputrc

$ ls -l ~/.inputrc
-rw------- 1 foo staff 1432 Jan 21  2020 /Users/foo/.inputrc

that holds the following

set completion-ignore-case on
"\e[B": history-search-forward
"\e[A": history-search-backward

i used to be able to reverse-search using case-insensitive, but now it stopped working.

even tried to run set completion-ignore-case on and bind 'set completion-ignore-case on' directly in the terminal but it did not solve my issue.

  1. is there a bug in the bash version that i am using?
  2. how can i tell whether bash honors ~/.inputrc?
  3. how do you recommend to debug the issue?

Best Answer

after examining the issue under linux, i realized that the issue is not macos specific.

searching the internet harder, i found the solution

you can't get this feature in BASH at present because this feature hasn't been built yet into vi or emacs mode. As I commented above completion-ignore-case only applies to completion, not to isearch

~10 years after the accepted answer, it seems that it is still the case.

references: