有没有模仿 bash 中双标签列表的命令?

有没有模仿 bash 中双标签列表的命令?

我想获得与在 bash 中点击 [Tab][Tab] 相同的可能的自动完成列表,但使用命令。有办法做到这一点吗?

答案1

您可以使用compgen,这通常是您按两次 Tab 键时调用的程序。

$ compgen -c c
cls
case
coproc
command_not_found_handle
caller
cd
command
compgen
complete
compopt
continue
clamd
cracklib-check
cpgr
cupsreject
cupsdisable
cupsaccept
cron
cppw
<100's more lines...>

它还包括 shell 内置函数!看这个问题man compgen

请注意,输出是按列排序的(bash 将执行的操作),而不是单行。不过,您可以很容易地sort按字母顺序输出。

答案2

如果您指的是匹配文件,则可能是指:

foo<TAB><TAB>

这应该是一个替代方案:

ls | grep -E '^foo'

如果您指的是匹配程序,则可以对$PATH.

相关内容