我正在尝试为我自己的命令集开发自动完成或制表符完整功能.
例如,假设foo是我的二进制文件:
CLI>> foo [TAB] [TAB]
Run Code Online (Sandbox Code Playgroud)
它应该显示主要命令configure
和show
.
然后如果我选择configure
,它应该显示子命令CM
,DSP
并且NPU
:
CLI>> foo configure [TAB] [TAB]
DSP NPU CM`
Run Code Online (Sandbox Code Playgroud)
我只知道如何完成并显示第一级 - 如何获得第二级?
我会把它放进去/etc/completion.d
.
我的代码:
_foo()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
words=("${COMP_WORDS[@]}")
cword=$COMP_CWORD
opts="configure show"
}
Run Code Online (Sandbox Code Playgroud)
我很卡如何添加子命令CM
DSP
NPU
下configure
.