如何使用自定义单词列表模拟bash文件名完成

时间:2019-05-10 08:33:55

标签: bash autocomplete

这可能很容易做到,但是出于某些原因,即使阅读了有关可编程bash自动完成的文章/教程,我也无法使其正常工作。

我想模仿bash文件名的自动完成功能,但要提供我自己的一组单词(针对每个级别)

例如

level1:foo bar

level2:bar baz daz

> mycommand [TAB][TAB]
foo    bar
> mycommand foo/[TAB][TAB]
bar   baz   daz
> mycommand foo/b[TAB][TAB]
bar   baz

任何指向正确方向的指针都将有所帮助(我尝试用'/'作为分隔符拆分当前单词,将其放入数组中并尝试从中找出下一组单词,我还尝试添加'/ '作为COMP_WORDBREAKS中的单词分隔符,但这会带来一系列问题)

1 个答案:

答案 0 :(得分:0)

shell补全基本上是二进制文件的免费脚本,以提供shell补全功能。例如,结帐git auto-complete for bash

因此,根据指定的shell,您将必须提供程序附带的脚本,并且可以在指定的shell上执行该脚本以提供自动完成功能。