这可能很容易做到,但是出于某些原因,即使阅读了有关可编程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中的单词分隔符,但这会带来一系列问题)
答案 0 :(得分:0)
shell补全基本上是二进制文件的免费脚本,以提供shell补全功能。例如,结帐git auto-complete for bash。
因此,根据指定的shell,您将必须提供程序附带的脚本,并且可以在指定的shell上执行该脚本以提供自动完成功能。