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
}

将从文件中生成每行具有单个名称的匹配列表。

或者,如果您想要完成要读取的单词而不是它读取的输入;在 bash 中将 complete -W "$(</tmp/names)" read实现这一点。

相关内容