我想获得与在 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
.