Я б запропонував вам обійтись із цим і використовувати інший тип прив'язки ключів із лінією читання, наприклад Shift+ TAB. Додайте до свого ~/.inputrc:
"\e[Z": menu-complete
Потім видайте exec bash(потім слід прочитати налаштування у вашому ~/.inputrc). Одноразово, замість перезавантаження bash, ви можете встановити те саме прив'язку, запустивши bind '"\e[Z": menu-complete'.
Тепер ви повинні мати можливість використовувати повторювані ShiftTABпослідовності, щоб переглядати відповідні назви файлів (замість того, щоб вводити наступний відповідний символ). Це буде працювати для будь-якої команди, виданої (оскільки це стандартна команда для читання рядків, яка прив’язана до ShiftTABпослідовності). Як зазначає ОП, це не впливає на стандартну поведінку TABключа, просто додає функціональності ShiftTABкомбо.
exec bash, оскільки це досить важливий крок для його роботи! ;)