Лучший способ симулировать это поведение автозаполнения - включить переменную readline (для отображения возможных завершений, если найдено более одного совпадения), а затем вызвать завершение с помощью команды readline (чтобы выполнить расширение имени пути glob).show-all-if-ambiguous
glob-complete-word
# 1: Enable `show-all-if-ambiguous` in ~/.inputrc set show-all-if-ambiguous on
show-all-if-ambiguous : Это изменяет поведение по умолчанию функций завершения. Если установлено значение «вкл.», Слова, которые имеют более одного возможного завершения, приводят к немедленному отображению совпадений, а не к звонку. Значением по умолчанию является «off».
# 2a: Check to ensure that `glob-complete-word` is bound. $ bind -q "glob-complete-word" glob-complete-word can be invoked via "\eg". # 2b: If unbound, bind `glob-complete-word` to "\eg". $ bind '"\eg":glob-complete-word'
glob-complete-word (Mg) : слово перед точкой рассматривается как шаблон для расширения имени пути с неявно добавленной звездочкой. Этот шаблон используется для генерации списка совпадающих имен файлов для возможных дополнений.
# 3: Trigger the autocompletion with <META-g> or <ESC-g> # META => alt (Windows/Linux) # META => option (OSX) $ ls *2.<META-g> # possible completions will be listed (show-all-if-ambiguous) mydoc2.pdf mydoc2.tex mydoc2.txt # glob pathname completion will be performed (glob-complete-word) $ ls mydoc2.