Пользовательское автодополнение клавишей Tab в `read` bash

Пользовательское автодополнение клавишей Tab в `read` bash

Есть ли способ "импортировать" список слов во встроенный bash, readчтобы иметь пользовательское автодополнение? Я пишу скрипт-обертку для минималистичного irc-клиента suckless "ii", и у меня нет способа автодополнения ников.

решение1

Я почти уверен, bashчто не смогу этого сделать. Но вzsh

foo() { 
 local -a compcontext
 compcontext=( ${(f)"$(</tmp/names)"} )
 vared -c -p 'Enter in user: ' user
}

Сгенерирует список совпадений из файла с одним именем в каждой строке.

Или, если вы хотите завершить слова для чтения, а не ввод, который он читает; в bash complete -W "$(</tmp/names)" readэто будет выполнено.

Связанный контент