Можно ли реализовать автозаполнение вкладки в сценарии bash?

У меня есть сценарий, который, когда пользователь вводит имя файла в каталог, выполняет автоматические операции тегирования в этом файле (тэги mp3).

Моя проблема: мне очень сложно вводить точное имя файла для каждой песни, которую я хочу пометить, и мне было интересно, можно ли реализовать автоматическое заполнение вкладок при вводе имени файла.

Начало моего скрипта:

Введите имя файла и найдите файл

echo "Enter name of file to be tagged" read -e FileName FileFindTest=$(find ~/Downloads/"$FileName") echo "$FileFindTest" 

Удивительно (для меня), read простую автозаполнение файла / папки с опцией -e .

Чтобы использовать его в вашем примере (я отметил свои изменения)

 echo "Enter name of file to be tagged:" cd ~/Downloads ## cd to Downloads folder for autocomplete read -e FileName FileFindTest="$(find ~/Downloads/"$FileName")" ## quoted echo "$FileFindTest" 

В этом случае при запросе ввода он будет автозаполнять файлы / папку в папке «Загрузка».


Предположим, что у вас есть следующие файлы в папке «Загрузки»:

 ~/Downloads │ ├───Pop/ │ └───PopSong.mp3 ├───Song1.mp3 └───Song5.mp3 

Затем, когда вы получите следующие результаты (нажатие Tab, когда отображается <TAB> ),

 P<TAB> Pop/ S<TAB> Song1.mp3 Song5.mp3 PopSong.mp3<TAB> # (nothing found here, as it's searching in Downloads/ only not Pop/) Pop/P<TAB> PopSong.mp3