AnC*_*AnC 6 bash command-line-interface
使用 Bash 自动完成功能,是否有一种方法可以仅在有 1-2 个选项时才使用 menu-complete 循环浏览匹配项,否则使用完整列表?
例子
主目录包含桌面、文档、下载、项目和公共
~$ cd D<tab><tab> # lists matches
Desktop Documents Downloads
~$ cd De<tab> # completes Desktop
~$ cd P<tab> # completes Projects
~$ cd Projects<tab> # completes Public
Run Code Online (Sandbox Code Playgroud)
前者是complete
行为,后者是menu-complete
。如果只有 1-2 个匹配项,我希望它选择第二个选项,如果有 3 个或更多匹配项,则选择第一个选项。
看来是没有办法了。
我知道您特别要求使用 bash,但如果您想尝试一下 zsh,它会在第一次按 Tab 时使用普通列表完成,并在第二次按时循环显示可能的值。我认为这非常方便,并且切换是很容易的,因为 zsh 与 bash 非常相似。