bash の `read` でのカスタムタブ補完

bash の `read` でのカスタムタブ補完

カスタムのタブ補完を行うために、単語リストを bash のread組み込みに「インポート」する方法はありますか? 私は suckless のミニマリスト IRC クライアント「ii」のラッパー スクリプトを書いていますが、ニックネームをタブ補完する方法がありません。

答え1

それは無理だと思いますbash。でもzsh

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

各行に 1 つの名前を持つファイルから一致リストを生成します。

または、読み取った入力ではなく、読み取り用の単語を補完したい場合は、bash で complete -W "$(</tmp/names)" readそれを実現します。

関連情報