Может добавить горячую клавишу Tab в мой сценарий оболочки?

Могу ли я использовать горячую клавишу Tab в моей оболочке для автоматического завершения, где есть вход

именно так:

введите описание изображения здесь

когда я ввожу «тест» и нажимаю «Горячая клавиша», «тест» автоматически завершит «test.md».

Добро пожаловать, пожалуйста!

Вы можете использовать rlwrap для добавления поддержки readline (включая завершение и историю / отзыв) практически в любую программу командной строки, включая скрипты оболочки.

См. man rlwrap для получения дополнительной информации и / или редактирования вопроса, чтобы включить минимальный сценарий оболочки образца, если вы хотите получить более конкретные рекомендации по использованию rlwrap.

rlwrap упакован для большинства дистрибутивов Linux, и вы можете найти источник на https://github.com/hanslub42/rlwrap

BTW, поле описания пакета debl's rlwrap гласит:

Описание-ru: оболочка командной строки функции readline Этот пакет предоставляет небольшую утилиту, которая использует библиотеку readline GNU, чтобы разрешить редактирование ввода клавиатуры для любой другой команды. История ввода запоминается через вызовы отдельно для каждой команды; завершение истории и поиск, как в bash, и списки слов завершения могут быть указаны в командной строке.

Кстати, одна полезная вещь, упомянутая на странице руководства:

В сценарии оболочки используйте rlwrap в режиме «один выстрел» в качестве замены для чтения

 order=$(rlwrap -pYellow -S 'Your pizza? ' -H past_orders -P Margherita -o cat) 

Это было бы заменой чему-то вроде read -p 'Your order? ' order read -p 'Your order? ' order