4

Is there a way to make the file/dir auto-complete in bash case insensitive?

For example I would like to write:
/opt/ibm/whatever/test [TAB]

And bash will auto-complete it to:
/opt/IBM/Whatever/TESTfile

Or at least only the last part of test to TESTfile.

I know that filesystems are case-sensitive, I just don't want to remember which parts are UPPER-case, I want auto-complete to fix the path for me.

And if I have both TESTfile and testfile, just show me both of them like bash does today with auto-complete conflicts.

m_vitaly
  • 139
  • 4

1 Answers1

4

To add a little bit to this discussion;

shopt -s nocaseglob

This will affect wildcard expansion, so ls w* would show w1.txt W1.txt. However, as I understand it, tab-completion will ignore this setting.

You can affect tab-completion with inputrc;

echo 'set completion-ignore-case On' >> /etc/inputrc 

Or (~/.inputrc if your system is setup this way)

Andrew

Andrew Taylor
  • 884
  • 4
  • 6